diff options
author | Anna Koskinen <anna@vaadin.com> | 2013-01-09 10:49:34 +0200 |
---|---|---|
committer | Anna Koskinen <anna@vaadin.com> | 2013-01-09 13:20:51 +0200 |
commit | 3c0ade1825e580d370d31e8748423d6beb0fa0f3 (patch) | |
tree | da80a343f0a090e0cab8e74c71f516ce1cae5793 /server | |
parent | 97b03bae695663ee4924d82fa97af54f89a841ae (diff) | |
download | vaadin-framework-3c0ade1825e580d370d31e8748423d6beb0fa0f3.tar.gz vaadin-framework-3c0ade1825e580d370d31e8748423d6beb0fa0f3.zip |
Merge of (#10072) to Vaadin 7.
Clean up map of dropped file receivers when streaming of a file starts.
Change-Id: I8f0d87505f4d82f906760a7e5e29546bb2b74e77
Diffstat (limited to 'server')
-rw-r--r-- | server/src/com/vaadin/ui/DragAndDropWrapper.java | 8 |
1 files 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(); |