From e813293d211c29ba50c81f417422771232ba31bf Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Thu, 26 Apr 2012 15:11:16 +0800 Subject: [PATCH] IDEMPIERE-231 Zk6: Improve the tablet experience. Fixed ClientInfo NPE when user refresh browser. --- .../src/org/adempiere/webui/AdempiereWebUI.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index e3c1948cc6..d931a9494e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -87,7 +87,7 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb private IDesktop appDesktop; - private ClientInfo clientInfo; + private ClientInfo clientInfo = new ClientInfo(); private String langSession; @@ -98,6 +98,8 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb public static final String EXECUTION_CARRYOVER_SESSION_KEY = "execution.carryover"; public static final String ZK_DESKTOP_SESSION_KEY = "zk.desktop"; + + private static final String CLIENT_INFO = "client.info"; public AdempiereWebUI() { @@ -256,6 +258,10 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb currSess.setAttribute(ZK_DESKTOP_SESSION_KEY, this.getPage().getDesktop()); ctx.put(ZK_DESKTOP_SESSION_KEY, this.getPage().getDesktop()); + ClientInfo sessionClientInfo = (ClientInfo) currSess.getAttribute(CLIENT_INFO); + if (sessionClientInfo != null) { + clientInfo = sessionClientInfo; + } } catch (Throwable t) { //restore fail appDesktop = null; @@ -359,6 +365,9 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb clientInfo.tablet = true; } } + if (getDesktop() != null && getDesktop().getSession() != null) { + getDesktop().getSession().setAttribute(CLIENT_INFO, clientInfo); + } } }