aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java7
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);
}