diff options
author | Charles Krinke | 2007-11-01 02:49:33 +0000 |
---|---|---|
committer | Charles Krinke | 2007-11-01 02:49:33 +0000 |
commit | 41e71e55485d011c100a6245d19eb2e0e236bc74 (patch) | |
tree | c389a137e524add3bfd2beb2ea0760c804a50c35 /OpenSim | |
parent | * Took a stab at #500 by making sure there is only one place stuff gets added... (diff) | |
download | opensim-SC-41e71e55485d011c100a6245d19eb2e0e236bc74.zip opensim-SC-41e71e55485d011c100a6245d19eb2e0e236bc74.tar.gz opensim-SC-41e71e55485d011c100a6245d19eb2e0e236bc74.tar.bz2 opensim-SC-41e71e55485d011c100a6245d19eb2e0e236bc74.tar.xz |
Thank you Melanie for a patch to SceneObjectPart.cs so that on first transmission of task data to the connection of the creator/owner, the CreateSelected bit in the object flags is now set.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index f0d6916..80723fa 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -313,6 +313,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
313 | LLObject.ObjectFlags.ObjectMove | | 313 | LLObject.ObjectFlags.ObjectMove | |
314 | LLObject.ObjectFlags.AllowInventoryDrop | | 314 | LLObject.ObjectFlags.AllowInventoryDrop | |
315 | LLObject.ObjectFlags.ObjectTransfer | | 315 | LLObject.ObjectFlags.ObjectTransfer | |
316 | LLObject.ObjectFlags.CreateSelected | | ||
316 | LLObject.ObjectFlags.ObjectOwnerModify; | 317 | LLObject.ObjectFlags.ObjectOwnerModify; |
317 | 318 | ||
318 | ScheduleFullUpdate(); | 319 | ScheduleFullUpdate(); |
@@ -855,8 +856,24 @@ namespace OpenSim.Region.Environment.Scenes | |||
855 | { | 856 | { |
856 | LLQuaternion lRot; | 857 | LLQuaternion lRot; |
857 | lRot = RotationOffset; | 858 | lRot = RotationOffset; |
858 | 859 | uint clientFlags = ObjectFlags & ~(uint)LLObject.ObjectFlags.CreateSelected; | |
859 | remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, ObjectFlags, m_uuid, | 860 | |
861 | List<ScenePresence> avatars=m_parentGroup.GetScenePresences(); | ||
862 | foreach(ScenePresence s in avatars) | ||
863 | { | ||
864 | if(s.m_uuid == OwnerID) | ||
865 | { | ||
866 | if(s.ControllingClient == remoteClient) | ||
867 | { | ||
868 | clientFlags = ObjectFlags; | ||
869 | m_flags &= ~LLObject.ObjectFlags.CreateSelected; | ||
870 | |||
871 | } | ||
872 | break; | ||
873 | } | ||
874 | } | ||
875 | |||
876 | remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, clientFlags, m_uuid, | ||
860 | OwnerID, | 877 | OwnerID, |
861 | m_text, ParentID, m_particleSystem, lRot); | 878 | m_text, ParentID, m_particleSystem, lRot); |
862 | } | 879 | } |