diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/zkwebui/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index 2c8ce2f21b..69d4707f89 100644 --- a/zkwebui/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/zkwebui/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -52,9 +52,11 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.impl.ExecutionCarryOver; +import org.zkoss.zk.ui.sys.DesktopCache; import org.zkoss.zk.ui.sys.DesktopCtrl; import org.zkoss.zk.ui.sys.ExecutionCtrl; import org.zkoss.zk.ui.sys.ExecutionsCtrl; +import org.zkoss.zk.ui.sys.SessionCtrl; import org.zkoss.zk.ui.sys.Visualizer; import org.zkoss.zul.Window; @@ -211,6 +213,9 @@ public class AdempiereWebUI extends Window implements EventListener, IWebClient } } appDesktop.getComponent().detach(); + DesktopCache desktopCache = ((SessionCtrl)currSess).getDesktopCache(); + if (desktopCache != null) + desktopCache.removeDesktop(Executions.getCurrent().getDesktop()); } catch (Exception e) { appDesktop = null; } finally { diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/session/SessionManager.java b/zkwebui/WEB-INF/src/org/adempiere/webui/session/SessionManager.java index d5f33ef19a..a77187c271 100644 --- a/zkwebui/WEB-INF/src/org/adempiere/webui/session/SessionManager.java +++ b/zkwebui/WEB-INF/src/org/adempiere/webui/session/SessionManager.java @@ -73,6 +73,7 @@ public class SessionManager { Env.getCtx().clear(); Session session = getSession(); + session.removeAttribute(SessionContextListener.SESSION_CTX); session.invalidate(); }