diff options
-rw-r--r-- | server/src/com/vaadin/server/VaadinSession.java | 7 |
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(); } |