diff options
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
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 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); |