From 94c0f86fafd6808df902af0a4dbccd2b45922ba4 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Fri, 12 Jul 2013 09:59:25 +0300 Subject: Ensure VaadinSession.service is set up by storeInSession (#12204) Change-Id: Ie707442f2625f3c9c07c75924c99299f07a4f3ec --- server/src/com/vaadin/server/VaadinSession.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'server/src') 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(); } -- cgit v1.2.3