projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce killing a zombie RWT UI session
[lgpl/argeo-commons.git]
/
swt
/
rap
/
org.argeo.swt.specific.rap
/
src
/
org
/
argeo
/
eclipse
/
ui
/
specific
/
UiContext.java
diff --git
a/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java
b/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java
index a81d94d1190d4009912c413d2765f2b26bb54813..698fe2080486b3efbd119ccfd5f8021dfa75151b 100644
(file)
--- a/
swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java
+++ b/
swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java
@@
-4,8
+4,10
@@
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSessionBindingListener;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.RWT;
+import org.eclipse.rap.rwt.service.UISession;
import org.eclipse.swt.widgets.Display;
/** Singleton class providing single sources infos about the UI context. */
import org.eclipse.swt.widgets.Display;
/** Singleton class providing single sources infos about the UI context. */
@@
-51,6
+53,11
@@
public class UiContext {
display.setData(key, value);
}
display.setData(key, value);
}
+ public static void killDisplay(Display display) {
+ UISession uiSession = RWT.getUISession(display);
+ ((HttpSessionBindingListener) uiSession).valueUnbound(null);
+ }
+
private static Display getDisplay() {
return Display.getCurrent();
}
private static Display getDisplay() {
return Display.getCurrent();
}