aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-12-17 02:23:24 +0000
committerJustin Clark-Casey (justincc)2011-12-17 02:23:24 +0000
commitf9137c923bcdc952efe37c7dd328c2d0d8323317 (patch)
tree333e2dab2e1c56e1bc7f0a8315c6655582479203 /OpenSim/Region/Framework/Scenes/Scene.cs
parentAdd Garmin Kawaguichi to CONTRIBUTORS.txt (diff)
downloadopensim-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.cs4
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);