diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 31 |
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); |