From 3c0ade1825e580d370d31e8748423d6beb0fa0f3 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Wed, 9 Jan 2013 10:49:34 +0200 Subject: Merge of (#10072) to Vaadin 7. Clean up map of dropped file receivers when streaming of a file starts. Change-Id: I8f0d87505f4d82f906760a7e5e29546bb2b74e77 --- server/src/com/vaadin/ui/DragAndDropWrapper.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server/src/com/vaadin/ui/DragAndDropWrapper.java b/server/src/com/vaadin/ui/DragAndDropWrapper.java index 5ec8fd5c76..23641f285e 100644 --- a/server/src/com/vaadin/ui/DragAndDropWrapper.java +++ b/server/src/com/vaadin/ui/DragAndDropWrapper.java @@ -228,7 +228,7 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, String id = entry.getKey(); Html5File html5File = entry.getValue(); if (html5File.getStreamVariable() != null) { - target.addVariable(this, "rec-" + id, new ProxyReceiver( + target.addVariable(this, "rec-" + id, new ProxyReceiver(id, html5File)); // these are cleaned from receivers once the upload has // started @@ -278,9 +278,11 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, final class ProxyReceiver implements StreamVariable { + private String id; private Html5File file; - public ProxyReceiver(Html5File file) { + public ProxyReceiver(String id, Html5File file) { + this.id = id; this.file = file; } @@ -313,7 +315,7 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, new ReceivingEventWrapper(event)); } // no need tell to the client about this receiver on next paint - receivers.remove(file); + receivers.remove(id); // let the terminal GC the streamvariable and not to accept other // file uploads to this variable event.disposeStreamVariable(); -- cgit v1.2.3