From 27edab21a9abb87f033c444739338fb0ed3fc0dd Mon Sep 17 00:00:00 2001 From: Eike Stepper Date: Tue, 16 Oct 2007 17:41:24 +0000 Subject: [206224] Provide chat example https://bugs.eclipse.org/bugs/show_bug.cgi?id=206224 --- .../src/org/eclipse/net4j/internal/buddies/ClientSession.java | 10 +++++++--- .../src/org/eclipse/net4j/internal/buddies/Self.java | 11 +++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java b/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java index 00959535cb..6d69f5fc36 100644 --- a/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java +++ b/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java @@ -115,10 +115,14 @@ public class ClientSession extends BuddyContainer implements IBuddySession, ILis public void buddyRemoved(String userID) { IBuddy buddy = removeBuddy(userID); - LifecycleUtil.deactivate(buddy); - for (ICollaboration collaboration : self.getCollaborations()) + if (buddy != null) { - ((Collaboration)collaboration).removeBuddy(userID); + for (ICollaboration collaboration : self.getCollaborations()) + { + ((Collaboration)collaboration).removeBuddy(userID); + } + + LifecycleUtil.deactivate(buddy); } } diff --git a/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/Self.java b/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/Self.java index 6c37cd6d79..80e17ecb66 100644 --- a/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/Self.java +++ b/plugins/org.eclipse.net4j.buddies/src/org/eclipse/net4j/internal/buddies/Self.java @@ -81,4 +81,15 @@ public class Self extends Buddy // TODO Implement method Self.join() throw new UnsupportedOperationException("Not yet implemented"); } + + @Override + protected void doDeactivate() throws Exception + { + for (ICollaboration collaboration : getCollaborations()) + { + LifecycleUtil.deactivate(collaboration); + } + + super.doDeactivate(); + } } -- cgit v1.2.3