summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
authorPekka Hyvönen <pekka@vaadin.com>2015-04-17 09:42:07 +0300
committerPekka Hyvönen <pekka@vaadin.com>2015-04-17 09:42:52 +0300
commit33c61533ad8a3ed8a38ea606aa9e3d5f4da4dae8 (patch)
tree3d4edf6b9676e0967b7a08e11642c66cf1abfe0c /server/src
parent6ed28680346c648a6b4e974568a56f6d4d0e000b (diff)
parent0636e2d177a933dae13e50eb1b1f4609855f735e (diff)
downloadvaadin-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.java11
-rw-r--r--server/src/com/vaadin/server/VaadinServlet.java4
-rw-r--r--server/src/com/vaadin/ui/Grid.java10
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