From 94c0f86fafd6808df902af0a4dbccd2b45922ba4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Fri, 12 Jul 2013 09:59:25 +0300 Subject: [PATCH] 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(+) 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(); } -- 2.39.5