aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs31
1 files changed, 13 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 666ce2a..fd70bfd 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2886,8 +2886,7 @@ namespace OpenSim.Region.Framework.Scenes
2886 /// Send a full update to the client for the given part 2886 /// Send a full update to the client for the given part
2887 /// </summary> 2887 /// </summary>
2888 /// <param name="remoteClient"></param> 2888 /// <param name="remoteClient"></param>
2889 /// <param name="clientFlags"></param> 2889 protected internal void SendFullUpdate(IClientAPI remoteClient)
2890 protected internal void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2891 { 2890 {
2892 if (ParentGroup == null) 2891 if (ParentGroup == null)
2893 return; 2892 return;
@@ -2899,16 +2898,16 @@ namespace OpenSim.Region.Framework.Scenes
2899 { 2898 {
2900 if (ParentGroup.IsAttachment) 2899 if (ParentGroup.IsAttachment)
2901 { 2900 {
2902 SendFullUpdateToClient(remoteClient, AttachedPos, clientFlags); 2901 SendFullUpdateToClient(remoteClient, AttachedPos);
2903 } 2902 }
2904 else 2903 else
2905 { 2904 {
2906 SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags); 2905 SendFullUpdateToClient(remoteClient, AbsolutePosition);
2907 } 2906 }
2908 } 2907 }
2909 else 2908 else
2910 { 2909 {
2911 SendFullUpdateToClient(remoteClient, clientFlags); 2910 SendFullUpdateToClient(remoteClient);
2912 } 2911 }
2913 } 2912 }
2914 2913
@@ -2922,7 +2921,7 @@ namespace OpenSim.Region.Framework.Scenes
2922 2921
2923 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) 2922 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar)
2924 { 2923 {
2925 SendFullUpdate(avatar.ControllingClient, avatar.GenerateClientFlags(UUID)); 2924 SendFullUpdate(avatar.ControllingClient);
2926 }); 2925 });
2927 } 2926 }
2928 2927
@@ -2930,12 +2929,9 @@ namespace OpenSim.Region.Framework.Scenes
2930 /// Sends a full update to the client 2929 /// Sends a full update to the client
2931 /// </summary> 2930 /// </summary>
2932 /// <param name="remoteClient"></param> 2931 /// <param name="remoteClient"></param>
2933 /// <param name="clientFlags"></param> 2932 public void SendFullUpdateToClient(IClientAPI remoteClient)
2934 public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags)
2935 { 2933 {
2936 Vector3 lPos; 2934 SendFullUpdateToClient(remoteClient, OffsetPosition);
2937 lPos = OffsetPosition;
2938 SendFullUpdateToClient(remoteClient, lPos, clientflags);
2939 } 2935 }
2940 2936
2941 /// <summary> 2937 /// <summary>
@@ -2943,8 +2939,7 @@ namespace OpenSim.Region.Framework.Scenes
2943 /// </summary> 2939 /// </summary>
2944 /// <param name="remoteClient"></param> 2940 /// <param name="remoteClient"></param>
2945 /// <param name="lPos"></param> 2941 /// <param name="lPos"></param>
2946 /// <param name="clientFlags"></param> 2942 public void SendFullUpdateToClient(IClientAPI remoteClient, Vector3 lPos)
2947 public void SendFullUpdateToClient(IClientAPI remoteClient, Vector3 lPos, uint clientFlags)
2948 { 2943 {
2949 if (ParentGroup == null) 2944 if (ParentGroup == null)
2950 return; 2945 return;
@@ -2961,15 +2956,10 @@ namespace OpenSim.Region.Framework.Scenes
2961 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38)) 2956 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))
2962 return; 2957 return;
2963 2958
2964 clientFlags &= ~(uint) PrimFlags.CreateSelected;
2965
2966 if (remoteClient.AgentId == OwnerID) 2959 if (remoteClient.AgentId == OwnerID)
2967 { 2960 {
2968 if ((Flags & PrimFlags.CreateSelected) != 0) 2961 if ((Flags & PrimFlags.CreateSelected) != 0)
2969 {
2970 clientFlags |= (uint) PrimFlags.CreateSelected;
2971 Flags &= ~PrimFlags.CreateSelected; 2962 Flags &= ~PrimFlags.CreateSelected;
2972 }
2973 } 2963 }
2974 //bool isattachment = IsAttachment; 2964 //bool isattachment = IsAttachment;
2975 //if (LocalId != ParentGroup.RootPart.LocalId) 2965 //if (LocalId != ParentGroup.RootPart.LocalId)
@@ -3403,6 +3393,11 @@ namespace OpenSim.Region.Framework.Scenes
3403 3393
3404 public void SetGroup(UUID groupID, IClientAPI client) 3394 public void SetGroup(UUID groupID, IClientAPI client)
3405 { 3395 {
3396 // Scene.AddNewPrims() calls with client == null so can't use this.
3397// m_log.DebugFormat(
3398// "[SCENE OBJECT PART]: Setting group for {0} to {1} for {2}",
3399// Name, groupID, OwnerID);
3400
3406 GroupID = groupID; 3401 GroupID = groupID;
3407 if (client != null) 3402 if (client != null)
3408 SendPropertiesToClient(client); 3403 SendPropertiesToClient(client);