diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 2b288df..601de61 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -5544,17 +5544,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5544 | 5544 | ||
5545 | if(GroupsNeedFullUpdate.Count > 0) | 5545 | if(GroupsNeedFullUpdate.Count > 0) |
5546 | { | 5546 | { |
5547 | bool viewerCache = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0;// && mysp.IsChildAgent; | 5547 | bool sendProbes = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0 && (m_viewerHandShakeFlags & 2) == 0; |
5548 | foreach (SceneObjectGroup grp in GroupsNeedFullUpdate) | 5548 | |
5549 | if(sendProbes) | ||
5550 | { | ||
5551 | foreach (SceneObjectGroup grp in GroupsNeedFullUpdate) | ||
5552 | { | ||
5553 | PrimUpdateFlags flags = PrimUpdateFlags.CancelKill; | ||
5554 | if (grp.IsViewerCachable) | ||
5555 | flags |= PrimUpdateFlags.UpdateProbe; | ||
5556 | foreach (SceneObjectPart p in grp.Parts) | ||
5557 | SendEntityUpdate(p, flags); | ||
5558 | } | ||
5559 | } | ||
5560 | else | ||
5549 | { | 5561 | { |
5562 | m_viewerHandShakeFlags &= ~2U; // nexttime send probes | ||
5550 | PrimUpdateFlags flags = PrimUpdateFlags.CancelKill; | 5563 | PrimUpdateFlags flags = PrimUpdateFlags.CancelKill; |
5551 | if (viewerCache && grp.IsViewerCachable) | 5564 | foreach (SceneObjectGroup grp in GroupsNeedFullUpdate) |
5552 | flags |= PrimUpdateFlags.UpdateProbe; | 5565 | { |
5553 | foreach (SceneObjectPart p in grp.Parts) | 5566 | foreach (SceneObjectPart p in grp.Parts) |
5554 | SendEntityUpdate(p, flags); | 5567 | SendEntityUpdate(p, flags); |
5568 | } | ||
5555 | } | 5569 | } |
5556 | } | 5570 | } |
5557 | |||
5558 | CheckGroupsInViewBusy = false; | 5571 | CheckGroupsInViewBusy = false; |
5559 | } | 5572 | } |
5560 | 5573 | ||