summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAnna Koskinen <anna@vaadin.com>2013-01-09 10:49:34 +0200
committerAnna Koskinen <anna@vaadin.com>2013-01-09 13:20:51 +0200
commit3c0ade1825e580d370d31e8748423d6beb0fa0f3 (patch)
treeda80a343f0a090e0cab8e74c71f516ce1cae5793 /server
parent97b03bae695663ee4924d82fa97af54f89a841ae (diff)
downloadvaadin-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.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();