IDEMPIERE-792 ZK: Memory leak for DPRecentItem and DPCalendar.
This commit is contained in:
parent
c4dcf71ca4
commit
3a9df56ad1
|
@ -51,6 +51,7 @@ import org.zkoss.util.Locales;
|
||||||
import org.zkoss.zk.ui.Component;
|
import org.zkoss.zk.ui.Component;
|
||||||
import org.zkoss.zk.ui.Desktop;
|
import org.zkoss.zk.ui.Desktop;
|
||||||
import org.zkoss.zk.ui.Executions;
|
import org.zkoss.zk.ui.Executions;
|
||||||
|
import org.zkoss.zk.ui.Page;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
@ -124,7 +125,6 @@ public class DPCalendar extends DashboardPanel implements EventListener<Event>,
|
||||||
calendars.addEventListener("onEventCreate", this);
|
calendars.addEventListener("onEventCreate", this);
|
||||||
calendars.addEventListener("onEventEdit", this);
|
calendars.addEventListener("onEventEdit", this);
|
||||||
|
|
||||||
EventManager.getInstance().register(ON_REQUEST_CHANGED_TOPIC, this);
|
|
||||||
createStaticListeners();
|
createStaticListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,6 +464,22 @@ public class DPCalendar extends DashboardPanel implements EventListener<Event>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageAttached(Page newpage, Page oldpage) {
|
||||||
|
super.onPageAttached(newpage, oldpage);
|
||||||
|
if (newpage != null) {
|
||||||
|
EventManager.getInstance().register(ON_REQUEST_CHANGED_TOPIC, this);
|
||||||
|
desktop = getDesktop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageDetached(Page page) {
|
||||||
|
super.onPageDetached(page);
|
||||||
|
EventManager.getInstance().unregister(this);
|
||||||
|
desktop = null;
|
||||||
|
}
|
||||||
|
|
||||||
static class TopicSubscriber implements ITopicSubscriber<Map<String, String>> {
|
static class TopicSubscriber implements ITopicSubscriber<Map<String, String>> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,6 +34,7 @@ import org.idempiere.distributed.ITopicSubscriber;
|
||||||
import org.osgi.service.event.EventHandler;
|
import org.osgi.service.event.EventHandler;
|
||||||
import org.zkoss.zk.ui.Component;
|
import org.zkoss.zk.ui.Component;
|
||||||
import org.zkoss.zk.ui.Desktop;
|
import org.zkoss.zk.ui.Desktop;
|
||||||
|
import org.zkoss.zk.ui.Page;
|
||||||
import org.zkoss.zk.ui.event.DropEvent;
|
import org.zkoss.zk.ui.event.DropEvent;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
|
@ -107,7 +108,6 @@ public class DPRecentItems extends DashboardPanel implements EventListener<Event
|
||||||
img.setTooltiptext(Util.cleanAmp(Msg.getMsg(ctx, "Delete")));
|
img.setTooltiptext(Util.cleanAmp(Msg.getMsg(ctx, "Delete")));
|
||||||
img.addEventListener(Events.ON_DROP, this);
|
img.addEventListener(Events.ON_DROP, this);
|
||||||
//
|
//
|
||||||
EventManager.getInstance().register(MRecentItem.ON_RECENT_ITEM_CHANGED_TOPIC, this);
|
|
||||||
createTopicSubscriber();
|
createTopicSubscriber();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,6 +279,22 @@ public class DPRecentItems extends DashboardPanel implements EventListener<Event
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageAttached(Page newpage, Page oldpage) {
|
||||||
|
super.onPageAttached(newpage, oldpage);
|
||||||
|
if (newpage != null) {
|
||||||
|
EventManager.getInstance().register(MRecentItem.ON_RECENT_ITEM_CHANGED_TOPIC, this);
|
||||||
|
desktop = getDesktop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageDetached(Page page) {
|
||||||
|
super.onPageDetached(page);
|
||||||
|
EventManager.getInstance().unregister(this);
|
||||||
|
desktop = null;
|
||||||
|
}
|
||||||
|
|
||||||
static class TopicSubscriber implements ITopicSubscriber<Integer> {
|
static class TopicSubscriber implements ITopicSubscriber<Integer> {
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(Integer message) {
|
public void onMessage(Integer message) {
|
||||||
|
|
Loading…
Reference in New Issue