diff options
author | Justin Clark-Casey (justincc) | 2011-12-17 02:23:24 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-12-17 02:23:24 +0000 |
commit | f9137c923bcdc952efe37c7dd328c2d0d8323317 (patch) | |
tree | 333e2dab2e1c56e1bc7f0a8315c6655582479203 /OpenSim/Region/Framework/Scenes/Scene.cs | |
parent | Add Garmin Kawaguichi to CONTRIBUTORS.txt (diff) | |
download | opensim-SC_OLD-f9137c923bcdc952efe37c7dd328c2d0d8323317.zip opensim-SC_OLD-f9137c923bcdc952efe37c7dd328c2d0d8323317.tar.gz opensim-SC_OLD-f9137c923bcdc952efe37c7dd328c2d0d8323317.tar.bz2 opensim-SC_OLD-f9137c923bcdc952efe37c7dd328c2d0d8323317.tar.xz |
Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object.
There were two problems here:
1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service. This fails to groups created newly in that session
2) On object group update, we weren't setting the HasGroupChanged flag. This meant that the change was not persisted unless some other action set this flag.
This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588
This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 |
1 files changed, 1 insertions, 3 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); |