diff options
author | slewis | 2007-11-04 20:03:01 +0000 |
---|---|---|
committer | slewis | 2007-11-04 20:03:01 +0000 |
commit | 36e9b5f6fb3f4248de132fedd892546fa61a057a (patch) | |
tree | fefe5e58d82b7b271c213a6dc66e94832b935be8 /framework/bundles/org.eclipse.ecf.presence.collab.ui | |
parent | ebb3e8f03ab26b76d5fe7659c09485d9464d7de5 (diff) | |
download | org.eclipse.ecf-36e9b5f6fb3f4248de132fedd892546fa61a057a.tar.gz org.eclipse.ecf-36e9b5f6fb3f4248de132fedd892546fa61a057a.tar.xz org.eclipse.ecf-36e9b5f6fb3f4248de132fedd892546fa61a057a.zip |
Fix for listener cleanup
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence.collab.ui')
2 files changed, 6 insertions, 0 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java index 5c9946df7..6b1774638 100644 --- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java +++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Activator.java @@ -58,6 +58,7 @@ public class Activator extends AbstractUIPlugin { containerManagerTracker = null; } plugin = null; + context = null; super.stop(context); } diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/StartShareReceivers.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/StartShareReceivers.java index b3596d04a..0f236b0a7 100644 --- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/StartShareReceivers.java +++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/StartShareReceivers.java @@ -66,6 +66,7 @@ public class StartShareReceivers implements IECFStart { ConsoleShare.removeStackShare(containerID); } else if (event instanceof IContainerDisposeEvent) { containerManager.removeListener(containerManagerListener); + container.removeListener(containerListener); } } } @@ -78,6 +79,9 @@ public class StartShareReceivers implements IECFStart { * @see org.eclipse.ecf.core.IContainerManagerListener#containerAdded(org.eclipse.ecf.core.IContainer) */ public void containerAdded(IContainer container) { + IChannelContainerAdapter cca = (IChannelContainerAdapter) container.getAdapter(IChannelContainerAdapter.class); + if (cca == null) + return; container.addListener(containerListener); } @@ -102,4 +106,5 @@ public class StartShareReceivers implements IECFStart { containerManager.addListener(containerManagerListener); return Status.OK_STATUS; } + } |