Only attempt to call a method on the manager if the received event
is a ServerMessageEvent. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4649 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -46,6 +46,7 @@ import com.threerings.presents.dobj.ObjectDeathListener;
|
|||||||
import com.threerings.presents.dobj.ObjectDestroyedEvent;
|
import com.threerings.presents.dobj.ObjectDestroyedEvent;
|
||||||
import com.threerings.presents.dobj.ObjectRemovedEvent;
|
import com.threerings.presents.dobj.ObjectRemovedEvent;
|
||||||
import com.threerings.presents.dobj.OidListListener;
|
import com.threerings.presents.dobj.OidListListener;
|
||||||
|
import com.threerings.presents.dobj.ServerMessageEvent;
|
||||||
import com.threerings.presents.dobj.SetAdapter;
|
import com.threerings.presents.dobj.SetAdapter;
|
||||||
|
|
||||||
import com.threerings.crowd.Log;
|
import com.threerings.crowd.Log;
|
||||||
@@ -319,16 +320,18 @@ public class PlaceManager
|
|||||||
// from interface MessageListener
|
// from interface MessageListener
|
||||||
public void messageReceived (MessageEvent event)
|
public void messageReceived (MessageEvent event)
|
||||||
{
|
{
|
||||||
MessageHandler handler = null;
|
|
||||||
if (_msghandlers != null) {
|
if (_msghandlers != null) {
|
||||||
handler = _msghandlers.get(event.getName());
|
MessageHandler handler = _msghandlers.get(event.getName());
|
||||||
}
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
handler.handleEvent(event, this);
|
handler.handleEvent(event, this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// the first argument should be the client object of the caller or null if it is a server
|
// If the message is directed at us, see if it's a request for
|
||||||
// originated event
|
// a method invocation
|
||||||
|
if (event instanceof ServerMessageEvent) {
|
||||||
|
// the first argument should be the client object of the caller or null if it is
|
||||||
|
// a server-originated event
|
||||||
int srcoid = event.getSourceOid();
|
int srcoid = event.getSourceOid();
|
||||||
DObject source = (srcoid <= 0) ? null : CrowdServer.omgr.getObject(srcoid);
|
DObject source = (srcoid <= 0) ? null : CrowdServer.omgr.getObject(srcoid);
|
||||||
Object[] args = event.getArgs(), nargs;
|
Object[] args = event.getArgs(), nargs;
|
||||||
@@ -341,6 +344,7 @@ public class PlaceManager
|
|||||||
}
|
}
|
||||||
_dispatcher.dispatchMethod(event.getName(), nargs);
|
_dispatcher.dispatchMethod(event.getName(), nargs);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// from interface OidListListener
|
// from interface OidListListener
|
||||||
public void objectAdded (ObjectAddedEvent event)
|
public void objectAdded (ObjectAddedEvent event)
|
||||||
|
|||||||
Reference in New Issue
Block a user