diff options
author | Dr Scofield | 2008-07-24 14:18:07 +0000 |
---|---|---|
committer | Dr Scofield | 2008-07-24 14:18:07 +0000 |
commit | e9144b1a3a053ba447c0fb643926957c80ad365d (patch) | |
tree | 9b70c0f0ade5c2bd0cab6bc72ff6828e26bfb775 /OpenSim/Region | |
parent | Implements llSetForce() and llGetForce(). These are experimental and the unit... (diff) | |
download | opensim-SC-e9144b1a3a053ba447c0fb643926957c80ad365d.zip opensim-SC-e9144b1a3a053ba447c0fb643926957c80ad365d.tar.gz opensim-SC-e9144b1a3a053ba447c0fb643926957c80ad365d.tar.bz2 opensim-SC-e9144b1a3a053ba447c0fb643926957c80ad365d.tar.xz |
From: Christopher Yeoh <cyeoh@au1.ibm.com>
The problem I noticed is that when child prims are selected unlike
the Linden server, OpenSim does not return property information - it
only searches the root prims for matches.
What I'm not sure about is whether the parcel prim count taint should
be set or if the root prim should be set as selected (doesn't
seem possible to set the child prim as selected). It does
however fix the problem of the property information
not being sent, so its an improvement (I think!).
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 25e36c5..177d99c 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -119,6 +119,22 @@ namespace OpenSim.Region.Environment.Scenes | |||
119 | } | 119 | } |
120 | break; | 120 | break; |
121 | } | 121 | } |
122 | else | ||
123 | { | ||
124 | // We also need to check the children of this prim as they | ||
125 | // can be selected as well and send property information | ||
126 | bool foundPrim = false; | ||
127 | foreach (KeyValuePair<LLUUID, SceneObjectPart> child in ((SceneObjectGroup) ent).Children) | ||
128 | { | ||
129 | if (child.Value.LocalId == primLocalID) | ||
130 | { | ||
131 | child.Value.GetProperties(remoteClient); | ||
132 | foundPrim = true; | ||
133 | break; | ||
134 | } | ||
135 | } | ||
136 | if (foundPrim) break; | ||
137 | } | ||
122 | } | 138 | } |
123 | } | 139 | } |
124 | } | 140 | } |