aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorUbitUmarov2012-04-01 11:20:11 +0100
committerUbitUmarov2012-04-01 11:20:11 +0100
commitd5e123c1064df424f377ed7511e7dd3721c7be8b (patch)
treee0fb702dc1d5e3d26e6a108d47d2e7c898cd1907 /OpenSim/Region/Framework/Scenes
parent reduced instability in vertical atractor with eficiency of 1 and banking (diff)
parentMerge branch 'master' into careminster (diff)
downloadopensim-SC_OLD-d5e123c1064df424f377ed7511e7dd3721c7be8b.zip
opensim-SC_OLD-d5e123c1064df424f377ed7511e7dd3721c7be8b.tar.gz
opensim-SC_OLD-d5e123c1064df424f377ed7511e7dd3721c7be8b.tar.bz2
opensim-SC_OLD-d5e123c1064df424f377ed7511e7dd3721c7be8b.tar.xz
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster into ubitwork
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/EventManager.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs88
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs16
7 files changed, 64 insertions, 79 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 470ce2e..741d233 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -75,6 +75,7 @@ namespace OpenSim.Region.Framework.Scenes
75 /// Triggered when a new client is added to the scene. 75 /// Triggered when a new client is added to the scene.
76 /// </summary> 76 /// </summary>
77 /// <remarks> 77 /// <remarks>
78 /// This is triggered for both child and root agent client connections.
78 /// Triggered before OnClientLogin. 79 /// Triggered before OnClientLogin.
79 /// </remarks> 80 /// </remarks>
80 public event OnNewClientDelegate OnNewClient; 81 public event OnNewClientDelegate OnNewClient;
@@ -195,7 +196,7 @@ namespace OpenSim.Region.Framework.Scenes
195 public delegate void ClientClosed(UUID clientID, Scene scene); 196 public delegate void ClientClosed(UUID clientID, Scene scene);
196 197
197 /// <summary> 198 /// <summary>
198 /// Fired when a client is removed from a scene. 199 /// Fired when a client is removed from a scene whether it's a child or a root agent.
199 /// </summary> 200 /// </summary>
200 /// <remarks> 201 /// <remarks>
201 /// At the point of firing, the scene still contains the client's scene presence. 202 /// At the point of firing, the scene still contains the client's scene presence.
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index cac178d..539ca14 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1883,7 +1883,7 @@ namespace OpenSim.Region.Framework.Scenes
1883 { 1883 {
1884 AddRestoredSceneObject(group, true, true); 1884 AddRestoredSceneObject(group, true, true);
1885 EventManager.TriggerOnSceneObjectLoaded(group); 1885 EventManager.TriggerOnSceneObjectLoaded(group);
1886 SceneObjectPart rootPart = group.GetChildPart(group.UUID); 1886 SceneObjectPart rootPart = group.GetPart(group.UUID);
1887 rootPart.Flags &= ~PrimFlags.Scripted; 1887 rootPart.Flags &= ~PrimFlags.Scripted;
1888 rootPart.TrimPermissions(); 1888 rootPart.TrimPermissions();
1889 1889
@@ -2031,10 +2031,16 @@ namespace OpenSim.Region.Framework.Scenes
2031 if (Permissions.CanRezObject(1, ownerID, pos)) 2031 if (Permissions.CanRezObject(1, ownerID, pos))
2032 { 2032 {
2033 // rez ON the ground, not IN the ground 2033 // rez ON the ground, not IN the ground
2034 // pos.Z += 0.25F; The rez point should now be correct so that its not in the ground 2034 // pos.Z += 0.25F; The rez point should now be correct so that its not in the ground
2035 2035
2036 AddNewPrim(ownerID, groupID, pos, rot, shape); 2036 AddNewPrim(ownerID, groupID, pos, rot, shape);
2037 } 2037 }
2038 else
2039 {
2040 IClientAPI client = null;
2041 if (TryGetClient(ownerID, out client))
2042 client.SendAlertMessage("You cannot create objects here.");
2043 }
2038 } 2044 }
2039 2045
2040 public virtual SceneObjectGroup AddNewPrim( 2046 public virtual SceneObjectGroup AddNewPrim(
@@ -2795,6 +2801,10 @@ namespace OpenSim.Region.Framework.Scenes
2795 sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName); 2801 sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName);
2796 } 2802 }
2797 2803
2804 // We must set this here so that TriggerOnNewClient and TriggerOnClientLogin can determine whether the
2805 // client is for a root or child agent.
2806 client.SceneAgent = sp;
2807
2798 m_LastLogin = Util.EnvironmentTickCount(); 2808 m_LastLogin = Util.EnvironmentTickCount();
2799 2809
2800 // Cache the user's name 2810 // Cache the user's name
@@ -4344,7 +4354,7 @@ namespace OpenSim.Region.Framework.Scenes
4344 { 4354 {
4345 if (ent is SceneObjectGroup) 4355 if (ent is SceneObjectGroup)
4346 { 4356 {
4347 SceneObjectPart part = ((SceneObjectGroup)ent).GetChildPart(((SceneObjectGroup)ent).UUID); 4357 SceneObjectPart part = ((SceneObjectGroup)ent).GetPart(((SceneObjectGroup)ent).UUID);
4348 if (part != null) 4358 if (part != null)
4349 { 4359 {
4350 if (part.Name == cmdparams[2]) 4360 if (part.Name == cmdparams[2])
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index ccc3f32..9fdbc54 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -941,7 +941,7 @@ namespace OpenSim.Region.Framework.Scenes
941 941
942 if (sog != null) 942 if (sog != null)
943 { 943 {
944 if (sog.HasChildPrim(localID)) 944 if (sog.ContainsPart(localID))
945 { 945 {
946// m_log.DebugFormat( 946// m_log.DebugFormat(
947// "[SCENE GRAPH]: Found scene object {0} {1} {2} containing part with local id {3} in {4}. Returning.", 947// "[SCENE GRAPH]: Found scene object {0} {1} {2} containing part with local id {3} in {4}. Returning.",
@@ -969,7 +969,7 @@ namespace OpenSim.Region.Framework.Scenes
969 if (ent is SceneObjectGroup) 969 if (ent is SceneObjectGroup)
970 { 970 {
971 sog = (SceneObjectGroup)ent; 971 sog = (SceneObjectGroup)ent;
972 if (sog.HasChildPrim(localID)) 972 if (sog.ContainsPart(localID))
973 { 973 {
974 lock (SceneObjectGroupsByLocalPartID) 974 lock (SceneObjectGroupsByLocalPartID)
975 SceneObjectGroupsByLocalPartID[localID] = sog; 975 SceneObjectGroupsByLocalPartID[localID] = sog;
@@ -1007,7 +1007,7 @@ namespace OpenSim.Region.Framework.Scenes
1007 if (ent is SceneObjectGroup) 1007 if (ent is SceneObjectGroup)
1008 { 1008 {
1009 sog = (SceneObjectGroup)ent; 1009 sog = (SceneObjectGroup)ent;
1010 if (sog.HasChildPrim(fullID)) 1010 if (sog.ContainsPart(fullID))
1011 { 1011 {
1012 lock (SceneObjectGroupsByFullPartID) 1012 lock (SceneObjectGroupsByFullPartID)
1013 SceneObjectGroupsByFullPartID[fullID] = sog; 1013 SceneObjectGroupsByFullPartID[fullID] = sog;
@@ -1096,7 +1096,7 @@ namespace OpenSim.Region.Framework.Scenes
1096 SceneObjectGroup group = GetGroupByPrim(localID); 1096 SceneObjectGroup group = GetGroupByPrim(localID);
1097 if (group == null) 1097 if (group == null)
1098 return null; 1098 return null;
1099 return group.GetChildPart(localID); 1099 return group.GetPart(localID);
1100 } 1100 }
1101 1101
1102 /// <summary> 1102 /// <summary>
@@ -1143,7 +1143,7 @@ namespace OpenSim.Region.Framework.Scenes
1143 SceneObjectGroup group = GetGroupByPrim(fullID); 1143 SceneObjectGroup group = GetGroupByPrim(fullID);
1144 if (group == null) 1144 if (group == null)
1145 return null; 1145 return null;
1146 return group.GetChildPart(fullID); 1146 return group.GetPart(fullID);
1147 } 1147 }
1148 1148
1149 /// <summary> 1149 /// <summary>
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
index f3660a5..2effa25 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs
@@ -92,7 +92,7 @@ namespace OpenSim.Region.Framework.Scenes
92 92
93 UUID newItemId = (copyItemID != UUID.Zero) ? copyItemID : item.ID; 93 UUID newItemId = (copyItemID != UUID.Zero) ? copyItemID : item.ID;
94 94
95 SceneObjectPart part = GetChildPart(localID); 95 SceneObjectPart part = GetPart(localID);
96 if (part != null) 96 if (part != null)
97 { 97 {
98 TaskInventoryItem taskItem = new TaskInventoryItem(); 98 TaskInventoryItem taskItem = new TaskInventoryItem();
@@ -166,7 +166,7 @@ namespace OpenSim.Region.Framework.Scenes
166 /// <returns>null if the item does not exist</returns> 166 /// <returns>null if the item does not exist</returns>
167 public TaskInventoryItem GetInventoryItem(uint primID, UUID itemID) 167 public TaskInventoryItem GetInventoryItem(uint primID, UUID itemID)
168 { 168 {
169 SceneObjectPart part = GetChildPart(primID); 169 SceneObjectPart part = GetPart(primID);
170 if (part != null) 170 if (part != null)
171 { 171 {
172 return part.Inventory.GetInventoryItem(itemID); 172 return part.Inventory.GetInventoryItem(itemID);
@@ -190,7 +190,7 @@ namespace OpenSim.Region.Framework.Scenes
190 /// <returns>false if the item did not exist, true if the update occurred succesfully</returns> 190 /// <returns>false if the item did not exist, true if the update occurred succesfully</returns>
191 public bool UpdateInventoryItem(TaskInventoryItem item) 191 public bool UpdateInventoryItem(TaskInventoryItem item)
192 { 192 {
193 SceneObjectPart part = GetChildPart(item.ParentPartID); 193 SceneObjectPart part = GetPart(item.ParentPartID);
194 if (part != null) 194 if (part != null)
195 { 195 {
196 part.Inventory.UpdateInventoryItem(item); 196 part.Inventory.UpdateInventoryItem(item);
@@ -210,7 +210,7 @@ namespace OpenSim.Region.Framework.Scenes
210 210
211 public int RemoveInventoryItem(uint localID, UUID itemID) 211 public int RemoveInventoryItem(uint localID, UUID itemID)
212 { 212 {
213 SceneObjectPart part = GetChildPart(localID); 213 SceneObjectPart part = GetPart(localID);
214 if (part != null) 214 if (part != null)
215 { 215 {
216 int type = part.Inventory.RemoveInventoryItem(itemID); 216 int type = part.Inventory.RemoveInventoryItem(itemID);
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 90ad098..11fd721 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -412,6 +412,24 @@ namespace OpenSim.Region.Framework.Scenes
412 return m_parts.ContainsKey(partID); 412 return m_parts.ContainsKey(partID);
413 } 413 }
414 414
415 /// <summary>
416 /// Does this group contain the given part?
417 /// should be able to remove these methods once we have a entity index in scene
418 /// </summary>
419 /// <param name="localID"></param>
420 /// <returns></returns>
421 public bool ContainsPart(uint localID)
422 {
423 SceneObjectPart[] parts = m_parts.GetArray();
424 for (int i = 0; i < parts.Length; i++)
425 {
426 if (parts[i].LocalId == localID)
427 return true;
428 }
429
430 return false;
431 }
432
415 /// <value> 433 /// <value>
416 /// The root part of this scene object 434 /// The root part of this scene object
417 /// </value> 435 /// </value>
@@ -1636,7 +1654,7 @@ namespace OpenSim.Region.Framework.Scenes
1636 1654
1637 public UUID GetPartsFullID(uint localID) 1655 public UUID GetPartsFullID(uint localID)
1638 { 1656 {
1639 SceneObjectPart part = GetChildPart(localID); 1657 SceneObjectPart part = GetPart(localID);
1640 if (part != null) 1658 if (part != null)
1641 { 1659 {
1642 return part.UUID; 1660 return part.UUID;
@@ -1652,7 +1670,7 @@ namespace OpenSim.Region.Framework.Scenes
1652 } 1670 }
1653 else 1671 else
1654 { 1672 {
1655 SceneObjectPart part = GetChildPart(localId); 1673 SceneObjectPart part = GetPart(localId);
1656 OnGrabPart(part, offsetPos, remoteClient); 1674 OnGrabPart(part, offsetPos, remoteClient);
1657 } 1675 }
1658 } 1676 }
@@ -2513,8 +2531,8 @@ namespace OpenSim.Region.Framework.Scenes
2513 /// Get a part with a given UUID 2531 /// Get a part with a given UUID
2514 /// </summary> 2532 /// </summary>
2515 /// <param name="primID"></param> 2533 /// <param name="primID"></param>
2516 /// <returns>null if a child part with the primID was not found</returns> 2534 /// <returns>null if a part with the primID was not found</returns>
2517 public SceneObjectPart GetChildPart(UUID primID) 2535 public SceneObjectPart GetPart(UUID primID)
2518 { 2536 {
2519 SceneObjectPart childPart; 2537 SceneObjectPart childPart;
2520 m_parts.TryGetValue(primID, out childPart); 2538 m_parts.TryGetValue(primID, out childPart);
@@ -2525,8 +2543,8 @@ namespace OpenSim.Region.Framework.Scenes
2525 /// Get a part with a given local ID 2543 /// Get a part with a given local ID
2526 /// </summary> 2544 /// </summary>
2527 /// <param name="localID"></param> 2545 /// <param name="localID"></param>
2528 /// <returns>null if a child part with the local ID was not found</returns> 2546 /// <returns>null if a part with the local ID was not found</returns>
2529 public SceneObjectPart GetChildPart(uint localID) 2547 public SceneObjectPart GetPart(uint localID)
2530 { 2548 {
2531 SceneObjectPart[] parts = m_parts.GetArray(); 2549 SceneObjectPart[] parts = m_parts.GetArray();
2532 for (int i = 0; i < parts.Length; i++) 2550 for (int i = 0; i < parts.Length; i++)
@@ -2538,35 +2556,6 @@ namespace OpenSim.Region.Framework.Scenes
2538 return null; 2556 return null;
2539 } 2557 }
2540 2558
2541 /// <summary>
2542 /// Does this group contain the child prim
2543 /// should be able to remove these methods once we have a entity index in scene
2544 /// </summary>
2545 /// <param name="primID"></param>
2546 /// <returns></returns>
2547 public bool HasChildPrim(UUID primID)
2548 {
2549 return m_parts.ContainsKey(primID);
2550 }
2551
2552 /// <summary>
2553 /// Does this group contain the child prim
2554 /// should be able to remove these methods once we have a entity index in scene
2555 /// </summary>
2556 /// <param name="localID"></param>
2557 /// <returns></returns>
2558 public bool HasChildPrim(uint localID)
2559 {
2560 SceneObjectPart[] parts = m_parts.GetArray();
2561 for (int i = 0; i < parts.Length; i++)
2562 {
2563 if (parts[i].LocalId == localID)
2564 return true;
2565 }
2566
2567 return false;
2568 }
2569
2570 #endregion 2559 #endregion
2571 2560
2572 #region Packet Handlers 2561 #region Packet Handlers
@@ -2720,7 +2709,7 @@ namespace OpenSim.Region.Framework.Scenes
2720 /// <returns>The object group of the newly delinked prim. Null if part could not be found</returns> 2709 /// <returns>The object group of the newly delinked prim. Null if part could not be found</returns>
2721 public SceneObjectGroup DelinkFromGroup(uint partID, bool sendEvents) 2710 public SceneObjectGroup DelinkFromGroup(uint partID, bool sendEvents)
2722 { 2711 {
2723 SceneObjectPart linkPart = GetChildPart(partID); 2712 SceneObjectPart linkPart = GetPart(partID);
2724 2713
2725 if (linkPart != null) 2714 if (linkPart != null)
2726 { 2715 {
@@ -3024,7 +3013,7 @@ namespace OpenSim.Region.Framework.Scenes
3024 /// <param name="localID"></param> 3013 /// <param name="localID"></param>
3025 public void SetPartName(string name, uint localID) 3014 public void SetPartName(string name, uint localID)
3026 { 3015 {
3027 SceneObjectPart part = GetChildPart(localID); 3016 SceneObjectPart part = GetPart(localID);
3028 if (part != null) 3017 if (part != null)
3029 { 3018 {
3030 part.Name = name; 3019 part.Name = name;
@@ -3033,7 +3022,7 @@ namespace OpenSim.Region.Framework.Scenes
3033 3022
3034 public void SetPartDescription(string des, uint localID) 3023 public void SetPartDescription(string des, uint localID)
3035 { 3024 {
3036 SceneObjectPart part = GetChildPart(localID); 3025 SceneObjectPart part = GetPart(localID);
3037 if (part != null) 3026 if (part != null)
3038 { 3027 {
3039 part.Description = des; 3028 part.Description = des;
@@ -3042,7 +3031,7 @@ namespace OpenSim.Region.Framework.Scenes
3042 3031
3043 public void SetPartText(string text, uint localID) 3032 public void SetPartText(string text, uint localID)
3044 { 3033 {
3045 SceneObjectPart part = GetChildPart(localID); 3034 SceneObjectPart part = GetPart(localID);
3046 if (part != null) 3035 if (part != null)
3047 { 3036 {
3048 part.SetText(text); 3037 part.SetText(text);
@@ -3051,7 +3040,7 @@ namespace OpenSim.Region.Framework.Scenes
3051 3040
3052 public void SetPartText(string text, UUID partID) 3041 public void SetPartText(string text, UUID partID)
3053 { 3042 {
3054 SceneObjectPart part = GetChildPart(partID); 3043 SceneObjectPart part = GetPart(partID);
3055 if (part != null) 3044 if (part != null)
3056 { 3045 {
3057 part.SetText(text); 3046 part.SetText(text);
@@ -3060,7 +3049,7 @@ namespace OpenSim.Region.Framework.Scenes
3060 3049
3061 public string GetPartName(uint localID) 3050 public string GetPartName(uint localID)
3062 { 3051 {
3063 SceneObjectPart part = GetChildPart(localID); 3052 SceneObjectPart part = GetPart(localID);
3064 if (part != null) 3053 if (part != null)
3065 { 3054 {
3066 return part.Name; 3055 return part.Name;
@@ -3070,7 +3059,7 @@ namespace OpenSim.Region.Framework.Scenes
3070 3059
3071 public string GetPartDescription(uint localID) 3060 public string GetPartDescription(uint localID)
3072 { 3061 {
3073 SceneObjectPart part = GetChildPart(localID); 3062 SceneObjectPart part = GetPart(localID);
3074 if (part != null) 3063 if (part != null)
3075 { 3064 {
3076 return part.Description; 3065 return part.Description;
@@ -3088,7 +3077,7 @@ namespace OpenSim.Region.Framework.Scenes
3088 /// <param name="SetVolumeDetect"></param> 3077 /// <param name="SetVolumeDetect"></param>
3089 public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) 3078 public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect)
3090 { 3079 {
3091 SceneObjectPart selectionPart = GetChildPart(localID); 3080 SceneObjectPart selectionPart = GetPart(localID);
3092 3081
3093 if (SetTemporary && Scene != null) 3082 if (SetTemporary && Scene != null)
3094 { 3083 {
@@ -3148,7 +3137,7 @@ namespace OpenSim.Region.Framework.Scenes
3148 3137
3149 public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data) 3138 public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data)
3150 { 3139 {
3151 SceneObjectPart part = GetChildPart(localID); 3140 SceneObjectPart part = GetPart(localID);
3152 if (part != null) 3141 if (part != null)
3153 { 3142 {
3154 part.UpdateExtraParam(type, inUse, data); 3143 part.UpdateExtraParam(type, inUse, data);
@@ -3173,7 +3162,7 @@ namespace OpenSim.Region.Framework.Scenes
3173 /// <param name="textureEntry"></param> 3162 /// <param name="textureEntry"></param>
3174 public void UpdateTextureEntry(uint localID, byte[] textureEntry) 3163 public void UpdateTextureEntry(uint localID, byte[] textureEntry)
3175 { 3164 {
3176 SceneObjectPart part = GetChildPart(localID); 3165 SceneObjectPart part = GetPart(localID);
3177 if (part != null) 3166 if (part != null)
3178 { 3167 {
3179 part.UpdateTextureEntry(textureEntry); 3168 part.UpdateTextureEntry(textureEntry);
@@ -3205,7 +3194,7 @@ namespace OpenSim.Region.Framework.Scenes
3205 /// <param name="shapeBlock"></param> 3194 /// <param name="shapeBlock"></param>
3206 public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock, uint localID) 3195 public void UpdateShape(ObjectShapePacket.ObjectDataBlock shapeBlock, uint localID)
3207 { 3196 {
3208 SceneObjectPart part = GetChildPart(localID); 3197 SceneObjectPart part = GetPart(localID);
3209 if (part != null) 3198 if (part != null)
3210 { 3199 {
3211 part.UpdateShape(shapeBlock); 3200 part.UpdateShape(shapeBlock);
@@ -3395,7 +3384,7 @@ namespace OpenSim.Region.Framework.Scenes
3395 3384
3396 public void UpdateSinglePosition(Vector3 pos, uint localID) 3385 public void UpdateSinglePosition(Vector3 pos, uint localID)
3397 { 3386 {
3398 SceneObjectPart part = GetChildPart(localID); 3387 SceneObjectPart part = GetPart(localID);
3399 3388
3400 if (part != null) 3389 if (part != null)
3401 { 3390 {
@@ -3508,7 +3497,8 @@ namespace OpenSim.Region.Framework.Scenes
3508 /// <param name="localID"></param> 3497 /// <param name="localID"></param>
3509 public void UpdateSingleRotation(Quaternion rot, uint localID) 3498 public void UpdateSingleRotation(Quaternion rot, uint localID)
3510 { 3499 {
3511 SceneObjectPart part = GetChildPart(localID); 3500 SceneObjectPart part = GetPart(localID);
3501
3512 SceneObjectPart[] parts = m_parts.GetArray(); 3502 SceneObjectPart[] parts = m_parts.GetArray();
3513 3503
3514 if (part != null) 3504 if (part != null)
@@ -3537,7 +3527,7 @@ namespace OpenSim.Region.Framework.Scenes
3537 /// <param name="localID"></param> 3527 /// <param name="localID"></param>
3538 public void UpdateSingleRotation(Quaternion rot, Vector3 pos, uint localID) 3528 public void UpdateSingleRotation(Quaternion rot, Vector3 pos, uint localID)
3539 { 3529 {
3540 SceneObjectPart part = GetChildPart(localID); 3530 SceneObjectPart part = GetPart(localID);
3541 if (part != null) 3531 if (part != null)
3542 { 3532 {
3543 if (m_rootPart.PhysActor != null) 3533 if (m_rootPart.PhysActor != null)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index ac44ce9..a2649ee 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -815,7 +815,7 @@ namespace OpenSim.Region.Framework.Scenes
815 815
816 group.ResetIDs(); 816 group.ResetIDs();
817 817
818 SceneObjectPart rootPart = group.GetChildPart(group.UUID); 818 SceneObjectPart rootPart = group.GetPart(group.UUID);
819 819
820 // Since renaming the item in the inventory does not affect the name stored 820 // Since renaming the item in the inventory does not affect the name stored
821 // in the serialization, transfer the correct name from the inventory to the 821 // in the serialization, transfer the correct name from the inventory to the
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index ee8a236..ed3a7f1 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1237,22 +1237,6 @@ namespace OpenSim.Region.Framework.Scenes
1237 friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); 1237 friendsModule.SendFriendsOnlineIfNeeded(ControllingClient);
1238 } 1238 }
1239 1239
1240 // HACK HACK -- just seeing how the viewer responds
1241 // Let's send the Suitcase or the real root folder folder for incoming HG agents
1242 // Visiting agents get their suitcase contents; incoming local users get their real root folder's content
1243 AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(UUID);
1244 if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0)
1245 {
1246 // HACK FOR NOW. JUST TESTING, SO KEEPING EVERYONE ELSE OUT OF THESE TESTS
1247 IConfig config = m_scene.Config.Configs["HGEntityTransferModule"];
1248 if (config != null && config.GetBoolean("RestrictInventoryAccessAbroad", false))
1249 {
1250 m_log.DebugFormat("[SCENE]: Sending root folder to viewer...");
1251 InventoryFolderBase root = m_scene.InventoryService.GetRootFolder(client.AgentId);
1252 //InventoryCollection rootContents = InventoryService.GetFolderContent(client.AgentId, root.ID);
1253 client.SendBulkUpdateInventory(root);
1254 }
1255 }
1256 1240
1257// m_log.DebugFormat( 1241// m_log.DebugFormat(
1258// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", 1242// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",