diff options
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java index dfaa007109..3cb7d73caf 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java @@ -869,7 +869,12 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, Paintable p = (Paintable) i.next(); if (p instanceof Component) { Component component = (Component) p; - if (component.getWindow() != w + Window componentsRoot = component.getWindow(); + if (componentsRoot.getParent() != null) { + // this is a subwindow + componentsRoot = (Window) componentsRoot.getParent(); + } + if (componentsRoot != w || dirtyPaintabletSet.contains(component.getParent())) { resultset.remove(p); } |