diff options
author | Pekka Hyvönen <pekka@vaadin.com> | 2015-04-17 09:42:07 +0300 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2015-04-17 09:42:52 +0300 |
commit | 33c61533ad8a3ed8a38ea606aa9e3d5f4da4dae8 (patch) | |
tree | 3d4edf6b9676e0967b7a08e11642c66cf1abfe0c /server/src | |
parent | 6ed28680346c648a6b4e974568a56f6d4d0e000b (diff) | |
parent | 0636e2d177a933dae13e50eb1b1f4609855f735e (diff) | |
download | vaadin-framework-33c61533ad8a3ed8a38ea606aa9e3d5f4da4dae8.tar.gz vaadin-framework-33c61533ad8a3ed8a38ea606aa9e3d5f4da4dae8.zip |
Merge branch 'master' into grid-7.5
Change-Id: I6175398df4c3a07656a2682843615a0d7bd32a45
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/navigator/Navigator.java | 11 | ||||
-rw-r--r-- | server/src/com/vaadin/server/VaadinServlet.java | 4 | ||||
-rw-r--r-- | server/src/com/vaadin/ui/Grid.java | 10 |
3 files changed, 17 insertions, 8 deletions
diff --git a/server/src/com/vaadin/navigator/Navigator.java b/server/src/com/vaadin/navigator/Navigator.java index ef5c61a294..65b3fec488 100644 --- a/server/src/com/vaadin/navigator/Navigator.java +++ b/server/src/com/vaadin/navigator/Navigator.java @@ -32,6 +32,7 @@ package com.vaadin.navigator; */ import java.io.Serializable; +import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -597,7 +598,10 @@ public class Navigator implements Serializable { * block the navigation operation */ protected boolean fireBeforeViewChange(ViewChangeEvent event) { - for (ViewChangeListener l : listeners) { + // a copy of the listener list is needed to avoid + // ConcurrentModificationException as a listener can add/remove + // listeners + for (ViewChangeListener l : new ArrayList<ViewChangeListener>(listeners)) { if (!l.beforeViewChange(event)) { return false; } @@ -647,7 +651,10 @@ public class Navigator implements Serializable { * view change event (not null) */ protected void fireAfterViewChange(ViewChangeEvent event) { - for (ViewChangeListener l : listeners) { + // a copy of the listener list is needed to avoid + // ConcurrentModificationException as a listener can add/remove + // listeners + for (ViewChangeListener l : new ArrayList<ViewChangeListener>(listeners)) { l.afterViewChange(event); } } diff --git a/server/src/com/vaadin/server/VaadinServlet.java b/server/src/com/vaadin/server/VaadinServlet.java index aa76dc8e08..3eb2ce24c1 100644 --- a/server/src/com/vaadin/server/VaadinServlet.java +++ b/server/src/com/vaadin/server/VaadinServlet.java @@ -336,11 +336,11 @@ public class VaadinServlet extends HttpServlet implements Constants { return; } - if (isStaticResourceRequest(request)) { + if (isStaticResourceRequest(vaadinRequest)) { // Define current servlet and service, but no request and response getService().setCurrentInstances(null, null); try { - serveStaticResources(request, response); + serveStaticResources(vaadinRequest, vaadinResponse); return; } finally { CurrentInstance.clearAll(); diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java index a7ff15c8dd..504e0e6eae 100644 --- a/server/src/com/vaadin/ui/Grid.java +++ b/server/src/com/vaadin/ui/Grid.java @@ -5985,10 +5985,6 @@ public class Grid extends AbstractComponent implements SelectionNotifier, setEditorEnabled(DesignAttributeHandler.readAttribute("editable", attrs, boolean.class)); } - if (attrs.hasKey("frozen-columns")) { - setFrozenColumnCount(DesignAttributeHandler.readAttribute( - "frozen-columns", attrs, int.class)); - } if (attrs.hasKey("rows")) { setHeightByRows(DesignAttributeHandler.readAttribute("rows", attrs, double.class)); @@ -6045,6 +6041,12 @@ public class Grid extends AbstractComponent implements SelectionNotifier, } } } + + // Read frozen columns after columns are read. + if (attrs.hasKey("frozen-columns")) { + setFrozenColumnCount(DesignAttributeHandler.readAttribute( + "frozen-columns", attrs, int.class)); + } } @Override |