aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/com/vaadin/server/VaadinSession.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/server/src/com/vaadin/server/VaadinSession.java b/server/src/com/vaadin/server/VaadinSession.java
index 9dedddcc2c..890b2eba29 100644
--- a/server/src/com/vaadin/server/VaadinSession.java
+++ b/server/src/com/vaadin/server/VaadinSession.java
@@ -426,6 +426,13 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable {
public void storeInSession(VaadinService service, WrappedSession session) {
assert hasLock(service, session);
session.setAttribute(getSessionAttributeName(service), this);
+
+ /*
+ * GAEVaadinServlet passes newly deserialized sessions here, which means
+ * that these transient fields need to be populated to avoid NPE from
+ * refreshLock().
+ */
+ this.service = service;
this.session = session;
refreshLock();
}