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 f5a00d7..b29ecc6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2836,8 +2836,7 @@ namespace OpenSim.Region.Framework.Scenes
2836 /// Send a full update to the client for the given part 2836 /// Send a full update to the client for the given part
2837 /// </summary> 2837 /// </summary>
2838 /// <param name="remoteClient"></param> 2838 /// <param name="remoteClient"></param>
2839 /// <param name="clientFlags"></param> 2839 protected internal void SendFullUpdate(IClientAPI remoteClient)
2840 protected internal void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
2841 { 2840 {
2842 if (ParentGroup == null) 2841 if (ParentGroup == null)
2843 return; 2842 return;
@@ -2849,16 +2848,16 @@ namespace OpenSim.Region.Framework.Scenes
2849 { 2848 {
2850 if (ParentGroup.IsAttachment) 2849 if (ParentGroup.IsAttachment)
2851 { 2850 {
2852 SendFullUpdateToClient(remoteClient, AttachedPos, clientFlags); 2851 SendFullUpdateToClient(remoteClient, AttachedPos);
2853 } 2852 }
2854 else 2853 else
2855 { 2854 {
2856 SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags); 2855 SendFullUpdateToClient(remoteClient, AbsolutePosition);
2857 } 2856 }
2858 } 2857 }
2859 else 2858 else
2860 { 2859 {
2861 SendFullUpdateToClient(remoteClient, clientFlags); 2860 SendFullUpdateToClient(remoteClient);
2862 } 2861 }
2863 } 2862 }
2864 2863
@@ -2872,7 +2871,7 @@ namespace OpenSim.Region.Framework.Scenes
2872 2871
2873 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) 2872 ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar)
2874 { 2873 {
2875 SendFullUpdate(avatar.ControllingClient, avatar.GenerateClientFlags(UUID)); 2874 SendFullUpdate(avatar.ControllingClient);
2876 }); 2875 });
2877 } 2876 }
2878 2877
@@ -2880,12 +2879,9 @@ namespace OpenSim.Region.Framework.Scenes
2880 /// Sends a full update to the client 2879 /// Sends a full update to the client
2881 /// </summary> 2880 /// </summary>
2882 /// <param name="remoteClient"></param> 2881 /// <param name="remoteClient"></param>
2883 /// <param name="clientFlags"></param> 2882 public void SendFullUpdateToClient(IClientAPI remoteClient)
2884 public void SendFullUpdateToClient(IClientAPI remoteClient, uint clientflags)
2885 { 2883 {
2886 Vector3 lPos; 2884 SendFullUpdateToClient(remoteClient, OffsetPosition);
2887 lPos = OffsetPosition;
2888 SendFullUpdateToClient(remoteClient, lPos, clientflags);
2889 } 2885 }
2890 2886
2891 /// <summary> 2887 /// <summary>
@@ -2893,8 +2889,7 @@ namespace OpenSim.Region.Framework.Scenes
2893 /// </summary> 2889 /// </summary>
2894 /// <param name="remoteClient"></param> 2890 /// <param name="remoteClient"></param>
2895 /// <param name="lPos"></param> 2891 /// <param name="lPos"></param>
2896 /// <param name="clientFlags"></param> 2892 public void SendFullUpdateToClient(IClientAPI remoteClient, Vector3 lPos)
2897 public void SendFullUpdateToClient(IClientAPI remoteClient, Vector3 lPos, uint clientFlags)
2898 { 2893 {
2899 if (ParentGroup == null) 2894 if (ParentGroup == null)
2900 return; 2895 return;
@@ -2911,15 +2906,10 @@ namespace OpenSim.Region.Framework.Scenes
2911 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38)) 2906 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))
2912 return; 2907 return;
2913 2908
2914 clientFlags &= ~(uint) PrimFlags.CreateSelected;
2915
2916 if (remoteClient.AgentId == OwnerID) 2909 if (remoteClient.AgentId == OwnerID)
2917 { 2910 {
2918 if ((Flags & PrimFlags.CreateSelected) != 0) 2911 if ((Flags & PrimFlags.CreateSelected) != 0)
2919 {
2920 clientFlags |= (uint) PrimFlags.CreateSelected;
2921 Flags &= ~PrimFlags.CreateSelected; 2912 Flags &= ~PrimFlags.CreateSelected;
2922 }
2923 } 2913 }
2924 //bool isattachment = IsAttachment; 2914 //bool isattachment = IsAttachment;
2925 //if (LocalId != ParentGroup.RootPart.LocalId) 2915 //if (LocalId != ParentGroup.RootPart.LocalId)
@@ -3354,6 +3344,11 @@ namespace OpenSim.Region.Framework.Scenes
3354 3344
3355 public void SetGroup(UUID groupID, IClientAPI client) 3345 public void SetGroup(UUID groupID, IClientAPI client)
3356 { 3346 {
3347 // Scene.AddNewPrims() calls with client == null so can't use this.
3348// m_log.DebugFormat(
3349// "[SCENE OBJECT PART]: Setting group for {0} to {1} for {2}",
3350// Name, groupID, OwnerID);
3351
3357 GroupID = groupID; 3352 GroupID = groupID;
3358 if (client != null) 3353 if (client != null)
3359 SendPropertiesToClient(client); 3354 SendPropertiesToClient(client);