From 4f0e41d9710eaf44bbcc52bcb2d4eb464d0d9bab Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Thu, 7 Aug 2008 03:13:37 +0000 Subject: [PATCH] Actually, let's do that this way. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5295 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../crowd/chat/client/ChatDirector.as | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/as/com/threerings/crowd/chat/client/ChatDirector.as b/src/as/com/threerings/crowd/chat/client/ChatDirector.as index ab9d81755..77b01e1b7 100644 --- a/src/as/com/threerings/crowd/chat/client/ChatDirector.as +++ b/src/as/com/threerings/crowd/chat/client/ChatDirector.as @@ -619,7 +619,9 @@ public class ChatDirector extends BasicDirector removeAuxiliarySource(_clobj); addAuxiliarySource(_clobj = event.getClient().getClientObject(), ChatCodes.USER_CHAT_TYPE); - clientLeftOrChanged(); + if (clearChatOnClientExit()) { + clearDisplays(); + } } // documentation inherited @@ -635,6 +637,10 @@ public class ChatDirector extends BasicDirector // in fact, clear out all auxiliary sources _auxes.clear(); + if (clearChatOnClientExit()) { + clearDisplays(); + } + // clear out the list of people we've chatted with _chatters.length = 0; notifyChatterObservers(); @@ -644,16 +650,6 @@ public class ChatDirector extends BasicDirector // clear our service _cservice = null; - - clientLeftOrChanged(); - } - - /** - * Overridable. - */ - protected function clientLeftOrChanged () :void - { - clearDisplays(); } /** @@ -987,6 +983,12 @@ public class ChatDirector extends BasicDirector _cservice = (client.requireService(ChatService) as ChatService); } + /** Overrideable. */ + protected function clearChatOnClientExit () :Boolean + { + return true; + } + /** Our active chat context. */ protected var _cctx :CrowdContext;