diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/server/VaadinSession.java | 9 |
1 files changed, 7 insertions, 2 deletions
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<FutureAccess>(); + Map<Class<?>, CurrentInstance> old = CurrentInstance.setCurrent(this); + try { + stream.defaultReadObject(); + pendingAccessQueue = new ConcurrentLinkedQueue<FutureAccess>(); + } finally { + CurrentInstance.restoreInstances(old); + } } /** |