From 41e71e55485d011c100a6245d19eb2e0e236bc74 Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Thu, 1 Nov 2007 02:49:33 +0000 Subject: 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. --- .../Region/Environment/Scenes/SceneObjectPart.cs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region') 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 LLObject.ObjectFlags.ObjectMove | LLObject.ObjectFlags.AllowInventoryDrop | LLObject.ObjectFlags.ObjectTransfer | + LLObject.ObjectFlags.CreateSelected | LLObject.ObjectFlags.ObjectOwnerModify; ScheduleFullUpdate(); @@ -855,8 +856,24 @@ namespace OpenSim.Region.Environment.Scenes { LLQuaternion lRot; lRot = RotationOffset; - - remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, ObjectFlags, m_uuid, + uint clientFlags = ObjectFlags & ~(uint)LLObject.ObjectFlags.CreateSelected; + + List avatars=m_parentGroup.GetScenePresences(); + foreach(ScenePresence s in avatars) + { + if(s.m_uuid == OwnerID) + { + if(s.ControllingClient == remoteClient) + { + clientFlags = ObjectFlags; + m_flags &= ~LLObject.ObjectFlags.CreateSelected; + + } + break; + } + } + + remoteClient.SendPrimitiveToClient(m_regionHandle, 64096, LocalID, m_shape, lPos, clientFlags, m_uuid, OwnerID, m_text, ParentID, m_particleSystem, lRot); } -- cgit v1.1