Once we've unproxied an object, we need to remap it into our Client's
distributed object space so that the unsubscribe from the remote server is properly handled. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4787 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -365,12 +365,17 @@ public class PeerManager
|
||||
// clear out the local object manager's proxy mapping
|
||||
PresentsServer.omgr.clearProxyObject(remoteOid, bits.right);
|
||||
|
||||
// now unsubscribe from the object on our peer
|
||||
final Client peer = getPeerClient(nodeName);
|
||||
if (peer == null) {
|
||||
log.warning("Unable to unsubscribe from proxy, missing peer [key=" + key + "].");
|
||||
return;
|
||||
}
|
||||
|
||||
// restore the object's omgr reference to our ClientDObjectMgr so that it can properly
|
||||
// finish the unsubscription process
|
||||
bits.right.setManager(peer.getDObjectManager());
|
||||
|
||||
// finally unsubscribe from the object on our peer
|
||||
peer.getDObjectManager().unsubscribeFromObject(remoteOid, bits.left);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user