diff options
Diffstat (limited to 'src/com/vaadin/terminal/gwt/server/CommunicationManager.java')
-rw-r--r-- | src/com/vaadin/terminal/gwt/server/CommunicationManager.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java index 8e73098454..4238aab019 100644 --- a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java +++ b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java @@ -62,6 +62,7 @@ import com.vaadin.ui.AbstractField; import com.vaadin.ui.Component; import com.vaadin.ui.Upload; import com.vaadin.ui.Window; +import com.vaadin.ui.Upload.UploadException; /** * Application manager processes changes and paints for single application @@ -203,7 +204,18 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, // file pl.setUpload(uploadComponent); - uploadComponent.receiveUpload(upstream); + try { + uploadComponent.receiveUpload(upstream); + } catch (UploadException e) { + // error happened while receiving file. Handle the + // error in the same manner as it would have happened in + // variable change. + synchronized (application) { + handleChangeVariablesError(application, + uploadComponent, e, + new HashMap<String, Object>()); + } + } } } } catch (final FileUploadException e) { |