aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs18
1 files changed, 5 insertions, 13 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index b1de341..49a708b 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -953,6 +953,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
953 } 953 }
954 } 954 }
955 955
956 group.ResetIDs();
957
956 if (!attachment) 958 if (!attachment)
957 { 959 {
958 // If it's rezzed in world, select it. Much easier to 960 // If it's rezzed in world, select it. Much easier to
@@ -966,12 +968,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
966 if (rootPart.Shape.PCode == (byte)PCode.Prim) 968 if (rootPart.Shape.PCode == (byte)PCode.Prim)
967 group.ClearPartAttachmentData(); 969 group.ClearPartAttachmentData();
968 } 970 }
969 971 else
970 group.ResetIDs();
971
972 if (attachment)
973 { 972 {
974// group.RootPart.Flags |= PrimFlags.Phantom;
975 group.IsAttachment = true; 973 group.IsAttachment = true;
976 } 974 }
977 975
@@ -983,14 +981,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
983 // attachment properly. 981 // attachment properly.
984 m_Scene.AddNewSceneObject(group, true, false); 982 m_Scene.AddNewSceneObject(group, true, false);
985 983
986 // if attachment we set it's asset id so object updates
987 // can reflect that, if not, we set it's position in world.
988 if (!attachment) 984 if (!attachment)
989 {
990 group.ScheduleGroupForFullUpdate();
991
992 group.AbsolutePosition = pos + veclist[i]; 985 group.AbsolutePosition = pos + veclist[i];
993 }
994 986
995 group.SetGroup(remoteClient.ActiveGroupId, remoteClient); 987 group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
996 988
@@ -1000,7 +992,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
1000 group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1); 992 group.CreateScriptInstances(0, true, m_Scene.DefaultScriptEngine, 1);
1001 rootPart.ParentGroup.ResumeScripts(); 993 rootPart.ParentGroup.ResumeScripts();
1002 994
1003 rootPart.ScheduleFullUpdate(); 995 group.ScheduleGroupForFullUpdate();
1004 } 996 }
1005 997
1006// m_log.DebugFormat( 998// m_log.DebugFormat(
@@ -1010,7 +1002,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
1010// remoteClient.Name); 1002// remoteClient.Name);
1011 } 1003 }
1012 1004
1013 group.SetGroup(remoteClient.ActiveGroupId, remoteClient); 1005// group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
1014 1006
1015 if (item != null) 1007 if (item != null)
1016 DoPostRezWhenFromItem(item, attachment); 1008 DoPostRezWhenFromItem(item, attachment);