diff options
author | UbitUmarov | 2016-07-13 15:56:01 +0100 |
---|---|---|
committer | UbitUmarov | 2016-07-13 15:56:01 +0100 |
commit | acebfeb5c96c3f11a514541069d3d7d81697b500 (patch) | |
tree | 4b954abb3a4ee9d3bf87e2b0f3edec0d201ebf34 /OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |
parent | ignore camera on culling for now (diff) | |
download | opensim-SC-acebfeb5c96c3f11a514541069d3d7d81697b500.zip opensim-SC-acebfeb5c96c3f11a514541069d3d7d81697b500.tar.gz opensim-SC-acebfeb5c96c3f11a514541069d3d7d81697b500.tar.bz2 opensim-SC-acebfeb5c96c3f11a514541069d3d7d81697b500.tar.xz |
don't overlap Select and Deselect, fix deselect prims account
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 0a7f1a8..bd6cafc 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -7681,15 +7681,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7681 | #endregion | 7681 | #endregion |
7682 | 7682 | ||
7683 | ObjectSelect handlerObjectSelect = null; | 7683 | ObjectSelect handlerObjectSelect = null; |
7684 | 7684 | uint objID; | |
7685 | for (int i = 0; i < incomingselect.ObjectData.Length; i++) | 7685 | lock(SelectedObjects) |
7686 | { | 7686 | { |
7687 | if (!SelectedObjects.Contains(incomingselect.ObjectData[i].ObjectLocalID)) | 7687 | for (int i = 0; i < incomingselect.ObjectData.Length; i++) |
7688 | SelectedObjects.Add(incomingselect.ObjectData[i].ObjectLocalID); | ||
7689 | handlerObjectSelect = OnObjectSelect; | ||
7690 | if (handlerObjectSelect != null) | ||
7691 | { | 7688 | { |
7692 | handlerObjectSelect(incomingselect.ObjectData[i].ObjectLocalID, this); | 7689 | objID = incomingselect.ObjectData[i].ObjectLocalID; |
7690 | |||
7691 | if (!SelectedObjects.Contains(objID)) | ||
7692 | { | ||
7693 | SelectedObjects.Add(objID); | ||
7694 | |||
7695 | handlerObjectSelect = OnObjectSelect; | ||
7696 | if (handlerObjectSelect != null) | ||
7697 | { | ||
7698 | handlerObjectSelect(objID, this); | ||
7699 | } | ||
7700 | } | ||
7693 | } | 7701 | } |
7694 | } | 7702 | } |
7695 | return true; | 7703 | return true; |
@@ -7709,15 +7717,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7709 | #endregion | 7717 | #endregion |
7710 | 7718 | ||
7711 | ObjectDeselect handlerObjectDeselect = null; | 7719 | ObjectDeselect handlerObjectDeselect = null; |
7712 | 7720 | uint objID; | |
7713 | for (int i = 0; i < incomingdeselect.ObjectData.Length; i++) | 7721 | lock(SelectedObjects) |
7714 | { | 7722 | { |
7715 | if (!SelectedObjects.Contains(incomingdeselect.ObjectData[i].ObjectLocalID)) | 7723 | for (int i = 0; i < incomingdeselect.ObjectData.Length; i++) |
7716 | SelectedObjects.Add(incomingdeselect.ObjectData[i].ObjectLocalID); | ||
7717 | handlerObjectDeselect = OnObjectDeselect; | ||
7718 | if (handlerObjectDeselect != null) | ||
7719 | { | 7724 | { |
7720 | OnObjectDeselect(incomingdeselect.ObjectData[i].ObjectLocalID, this); | 7725 | objID = incomingdeselect.ObjectData[i].ObjectLocalID; |
7726 | if (SelectedObjects.Contains(objID)) | ||
7727 | { | ||
7728 | SelectedObjects.Remove(objID); | ||
7729 | |||
7730 | handlerObjectDeselect = OnObjectDeselect; | ||
7731 | if (handlerObjectDeselect != null) | ||
7732 | { | ||
7733 | OnObjectDeselect(objID, this); | ||
7734 | } | ||
7735 | } | ||
7721 | } | 7736 | } |
7722 | } | 7737 | } |
7723 | return true; | 7738 | return true; |