don't overlap Select and Deselect, fix deselect prims account
parent
981980150c
commit
acebfeb5c9
OpenSim/Region/ClientStack/Linden/UDP
|
@ -7681,15 +7681,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
ObjectSelect handlerObjectSelect = null;
|
ObjectSelect handlerObjectSelect = null;
|
||||||
|
uint objID;
|
||||||
|
lock(SelectedObjects)
|
||||||
|
{
|
||||||
for (int i = 0; i < incomingselect.ObjectData.Length; i++)
|
for (int i = 0; i < incomingselect.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
if (!SelectedObjects.Contains(incomingselect.ObjectData[i].ObjectLocalID))
|
objID = incomingselect.ObjectData[i].ObjectLocalID;
|
||||||
SelectedObjects.Add(incomingselect.ObjectData[i].ObjectLocalID);
|
|
||||||
|
if (!SelectedObjects.Contains(objID))
|
||||||
|
{
|
||||||
|
SelectedObjects.Add(objID);
|
||||||
|
|
||||||
handlerObjectSelect = OnObjectSelect;
|
handlerObjectSelect = OnObjectSelect;
|
||||||
if (handlerObjectSelect != null)
|
if (handlerObjectSelect != null)
|
||||||
{
|
{
|
||||||
handlerObjectSelect(incomingselect.ObjectData[i].ObjectLocalID, this);
|
handlerObjectSelect(objID, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -7709,15 +7717,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
ObjectDeselect handlerObjectDeselect = null;
|
ObjectDeselect handlerObjectDeselect = null;
|
||||||
|
uint objID;
|
||||||
|
lock(SelectedObjects)
|
||||||
|
{
|
||||||
for (int i = 0; i < incomingdeselect.ObjectData.Length; i++)
|
for (int i = 0; i < incomingdeselect.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
if (!SelectedObjects.Contains(incomingdeselect.ObjectData[i].ObjectLocalID))
|
objID = incomingdeselect.ObjectData[i].ObjectLocalID;
|
||||||
SelectedObjects.Add(incomingdeselect.ObjectData[i].ObjectLocalID);
|
if (SelectedObjects.Contains(objID))
|
||||||
|
{
|
||||||
|
SelectedObjects.Remove(objID);
|
||||||
|
|
||||||
handlerObjectDeselect = OnObjectDeselect;
|
handlerObjectDeselect = OnObjectDeselect;
|
||||||
if (handlerObjectDeselect != null)
|
if (handlerObjectDeselect != null)
|
||||||
{
|
{
|
||||||
OnObjectDeselect(incomingdeselect.ObjectData[i].ObjectLocalID, this);
|
OnObjectDeselect(objID, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue