aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs14
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs5
4 files changed, 8 insertions, 17 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index b43b227..4914d65 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2776,7 +2776,6 @@ namespace OpenSim.Region.Framework.Scenes
2776 2776
2777 public virtual void SubscribeToClientParcelEvents(IClientAPI client) 2777 public virtual void SubscribeToClientParcelEvents(IClientAPI client)
2778 { 2778 {
2779 client.OnObjectGroupRequest += m_sceneGraph.HandleObjectGroupUpdate;
2780 client.OnParcelReturnObjectsRequest += LandChannel.ReturnObjectsInParcel; 2779 client.OnParcelReturnObjectsRequest += LandChannel.ReturnObjectsInParcel;
2781 client.OnParcelSetOtherCleanTime += LandChannel.SetParcelOtherCleanTime; 2780 client.OnParcelSetOtherCleanTime += LandChannel.SetParcelOtherCleanTime;
2782 client.OnParcelBuy += ProcessParcelBuy; 2781 client.OnParcelBuy += ProcessParcelBuy;
@@ -2903,7 +2902,6 @@ namespace OpenSim.Region.Framework.Scenes
2903 2902
2904 public virtual void UnSubscribeToClientParcelEvents(IClientAPI client) 2903 public virtual void UnSubscribeToClientParcelEvents(IClientAPI client)
2905 { 2904 {
2906 client.OnObjectGroupRequest -= m_sceneGraph.HandleObjectGroupUpdate;
2907 client.OnParcelReturnObjectsRequest -= LandChannel.ReturnObjectsInParcel; 2905 client.OnParcelReturnObjectsRequest -= LandChannel.ReturnObjectsInParcel;
2908 client.OnParcelSetOtherCleanTime -= LandChannel.SetParcelOtherCleanTime; 2906 client.OnParcelSetOtherCleanTime -= LandChannel.SetParcelOtherCleanTime;
2909 client.OnParcelBuy -= ProcessParcelBuy; 2907 client.OnParcelBuy -= ProcessParcelBuy;
@@ -4287,7 +4285,7 @@ namespace OpenSim.Region.Framework.Scenes
4287 /// Get a scene object group that contains the prim with the given local id 4285 /// Get a scene object group that contains the prim with the given local id
4288 /// </summary> 4286 /// </summary>
4289 /// <param name="localID"></param> 4287 /// <param name="localID"></param>
4290 /// <returns>null if no scene object group containing that prim is found</returns> 4288 /// <returns>null if no scene object group containing that prim is found</returns>
4291 public SceneObjectGroup GetGroupByPrim(uint localID) 4289 public SceneObjectGroup GetGroupByPrim(uint localID)
4292 { 4290 {
4293 return m_sceneGraph.GetGroupByPrim(localID); 4291 return m_sceneGraph.GetGroupByPrim(localID);
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index af95c28..a3e4b46 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -575,20 +575,6 @@ namespace OpenSim.Region.Framework.Scenes
575 } 575 }
576 } 576 }
577 577
578 protected internal void HandleObjectGroupUpdate(
579 IClientAPI remoteClient, UUID GroupID, uint objectLocalID, UUID Garbage)
580 {
581 if (!remoteClient.IsGroupMember(GroupID))
582 return;
583
584 SceneObjectGroup group = GetGroupByPrim(objectLocalID);
585 if (group != null)
586 {
587 if (group.OwnerID == remoteClient.AgentId)
588 group.SetGroup(GroupID, remoteClient);
589 }
590 }
591
592 protected internal ScenePresence CreateAndAddChildScenePresence( 578 protected internal ScenePresence CreateAndAddChildScenePresence(
593 IClientAPI client, AvatarAppearance appearance, PresenceType type) 579 IClientAPI client, AvatarAppearance appearance, PresenceType type)
594 { 580 {
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 7bf8c34..abea788 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -3211,6 +3211,8 @@ namespace OpenSim.Region.Framework.Scenes
3211 part.Inventory.ChangeInventoryGroup(GroupID); 3211 part.Inventory.ChangeInventoryGroup(GroupID);
3212 } 3212 }
3213 3213
3214 HasGroupChanged = true;
3215
3214 // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled 3216 // Don't trigger the update here - otherwise some client issues occur when multiple updates are scheduled
3215 // for the same object with very different properties. The caller must schedule the update. 3217 // for the same object with very different properties. The caller must schedule the update.
3216 //ScheduleGroupForFullUpdate(); 3218 //ScheduleGroupForFullUpdate();
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 598b310..b29ecc6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3344,6 +3344,11 @@ namespace OpenSim.Region.Framework.Scenes
3344 3344
3345 public void SetGroup(UUID groupID, IClientAPI client) 3345 public void SetGroup(UUID groupID, IClientAPI client)
3346 { 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
3347 GroupID = groupID; 3352 GroupID = groupID;
3348 if (client != null) 3353 if (client != null)
3349 SendPropertiesToClient(client); 3354 SendPropertiesToClient(client);