From 082851e5479a19df17084598944b45b53b38fd73 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Mon, 26 Oct 2015 15:44:44 +0000 Subject: Set session as current while deserializing (#9953) Change-Id: Ib420f99c621b7d508659907615a7e8a1ae47b4d9 --- server/src/com/vaadin/server/VaadinSession.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'server/src') diff --git a/server/src/com/vaadin/server/VaadinSession.java b/server/src/com/vaadin/server/VaadinSession.java index ab24694964..bcc07acb99 100644 --- a/server/src/com/vaadin/server/VaadinSession.java +++ b/server/src/com/vaadin/server/VaadinSession.java @@ -1410,8 +1410,13 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable { */ private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { - stream.defaultReadObject(); - pendingAccessQueue = new ConcurrentLinkedQueue(); + Map, CurrentInstance> old = CurrentInstance.setCurrent(this); + try { + stream.defaultReadObject(); + pendingAccessQueue = new ConcurrentLinkedQueue(); + } finally { + CurrentInstance.restoreInstances(old); + } } /** -- cgit v1.2.3