diff options
author | Justin Clarke Casey | 2008-08-12 19:00:13 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-08-12 19:00:13 +0000 |
commit | 4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf (patch) | |
tree | 6aab22c68ef6fbc8262567cb0cdaa511ca965b54 /OpenSim/Region/ClientStack/LindenUDP | |
parent | Thanks, lulurun, for a patch that addresses inventory problems that occur (diff) | |
download | opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.zip opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.gz opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.bz2 opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.xz |
* Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed).
* However, it should be possible to do much better cleanup on this code in the future
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2d0215f..b143f3e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -454,17 +454,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
454 | /// <param name="shutdownCircuit"></param> | 454 | /// <param name="shutdownCircuit"></param> |
455 | public void Close(bool shutdownCircuit) | 455 | public void Close(bool shutdownCircuit) |
456 | { | 456 | { |
457 | // Pull Client out of Region | 457 | m_log.DebugFormat( |
458 | m_log.Info("[CLIENT]: Close has been called"); | 458 | "[CLIENT]: Close has been called with shutdownCircuit = {0} on scene {1}", |
459 | shutdownCircuit, m_scene.RegionInfo.RegionName); | ||
460 | |||
459 | m_PacketHandler.Flush(); | 461 | m_PacketHandler.Flush(); |
460 | 462 | ||
461 | //raiseevent on the packet server to Shutdown the circuit | 463 | // raise an event on the packet server to Shutdown the circuit |
464 | // Now, if we raise the event then the packet server will call this method itself, so don't try cleanup | ||
465 | // here otherwise we'll end up calling it twice. | ||
466 | // FIXME: In truth, I might be wrong but this whole business of calling this method twice (with different args) looks | ||
467 | // horribly tangly. Hopefully it should be possible to greatly simplify it. | ||
462 | if (shutdownCircuit) | 468 | if (shutdownCircuit) |
463 | { | 469 | { |
464 | OnConnectionClosed(this); | 470 | OnConnectionClosed(this); |
465 | } | 471 | } |
466 | 472 | else | |
467 | CloseCleanup(shutdownCircuit); | 473 | { |
474 | CloseCleanup(shutdownCircuit); | ||
475 | } | ||
468 | } | 476 | } |
469 | 477 | ||
470 | public void Kick(string message) | 478 | public void Kick(string message) |