From ee4369df0f4a7359b1bf518a6b475226a686920c Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 14 Aug 2009 21:36:13 +0000 Subject: [PATCH] Freak out not if we have no client reference. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5912 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/presents/client/Communicator.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/java/com/threerings/presents/client/Communicator.java b/src/java/com/threerings/presents/client/Communicator.java index a4bc738a9..e158a92e0 100644 --- a/src/java/com/threerings/presents/client/Communicator.java +++ b/src/java/com/threerings/presents/client/Communicator.java @@ -28,6 +28,8 @@ import com.threerings.presents.net.AuthResponseData; import com.threerings.presents.net.Message; import com.threerings.presents.net.UpstreamMessage; +import static com.threerings.presents.Log.log; + /** * Handles sending and receiving messages for the client. */ @@ -133,13 +135,19 @@ public abstract class Communicator protected void notifyClientObservers (ObserverOps.Session op) { - _client.notifyObservers(op); + if (_client != null) { + _client.notifyObservers(op); + } else { + log.warning("Dropping client notification. No observers.", "op", op); + } } protected void clientCleanup (Exception logonError) { - _client.cleanup(logonError); - _client = null; // prevent any post-cleanup tomfoolery + if (_client != null) { + _client.cleanup(logonError); + _client = null; // prevent any post-cleanup tomfoolery + } } protected Client _client;