aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-28 13:21:32 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-28 13:21:32 +0000
commitd4493a155dcbf2a0c03623376e7ca49699ab8225 (patch)
treea76951af51793bc2ee61491cee08b03b40523573 /src
parent59d88071fd7d3004f08d91c406c7f27abc179691 (diff)
downloadvaadin-framework-d4493a155dcbf2a0c03623376e7ca49699ab8225.tar.gz
vaadin-framework-d4493a155dcbf2a0c03623376e7ca49699ab8225.zip
cleans cache on some unclean reloads
svn changeset:8956/svn branch:2009-09-widget-packaging_3332
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/server/CommunicationManager.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
index 11aec9ed28..4af1b05fe9 100644
--- a/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/CommunicationManager.java
@@ -318,8 +318,8 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
final PrintWriter outWriter, Window window, boolean analyzeLayouts)
throws IOException, ServletException, PaintException {
- // If repaint is requested, clean all ids in this root window
if (repaintAll) {
+ // If repaint is requested, clean all ids in this root window
for (final Iterator<String> it = idPaintableMap.keySet().iterator(); it
.hasNext();) {
final Component c = (Component) idPaintableMap.get(it.next());
@@ -328,6 +328,12 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
paintableIdMap.remove(c);
}
}
+ // clean WindowCache
+ OpenWindowCache openWindowCache = currentlyOpenWindowsInClient
+ .get(window.getName());
+ if (openWindowCache != null) {
+ openWindowCache.clear();
+ }
}
// Removes application if it has stopped during variable changes
@@ -1576,6 +1582,8 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
/**
* Helper class for terminal to keep track of data that client is expected
* to know.
+ *
+ * TODO make customlayout templates (from theme) to be cached here.
*/
class OpenWindowCache {
@@ -1590,5 +1598,9 @@ public class CommunicationManager implements Paintable.RepaintRequestListener,
return res.add(object);
}
+ public void clear() {
+ res.clear();
+ }
+
}
}