summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/com/vaadin/ui/DragAndDropWrapper.java8
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();