aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2013-06-23 01:48:57 +0100
committerMelanie2013-06-23 01:48:57 +0100
commit24a4367fc2ff9456ec165db14a646dba977550a0 (patch)
treef6880151d7b5e4749685dc4f4cc5d1130a9544e7 /OpenSim/Region/CoreModules
parentMerge branch 'master' into careminster (diff)
parentFix prim locking to behave like SL (diff)
downloadopensim-SC_OLD-24a4367fc2ff9456ec165db14a646dba977550a0.zip
opensim-SC_OLD-24a4367fc2ff9456ec165db14a646dba977550a0.tar.gz
opensim-SC_OLD-24a4367fc2ff9456ec165db14a646dba977550a0.tar.bz2
opensim-SC_OLD-24a4367fc2ff9456ec165db14a646dba977550a0.tar.xz
Merge branch 'avination-current' into careminster
Conflicts: OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 588da10..aa00145 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -794,6 +794,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
794 XmlDocument doc = new XmlDocument(); 794 XmlDocument doc = new XmlDocument();
795 doc.LoadXml(xmlData); 795 doc.LoadXml(xmlData);
796 XmlElement e = (XmlElement)doc.SelectSingleNode("/CoalescedObject"); 796 XmlElement e = (XmlElement)doc.SelectSingleNode("/CoalescedObject");
797 Vector3 rez_pos;
797 if (e == null || attachment) // Single 798 if (e == null || attachment) // Single
798 { 799 {
799 SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); 800 SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(xmlData);
@@ -815,6 +816,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
815 RayStart, RayEnd, RayTargetID, Quaternion.Identity, 816 RayStart, RayEnd, RayTargetID, Quaternion.Identity,
816 BypassRayCast, bRayEndIsIntersection, true, g.GetAxisAlignedBoundingBox(out offsetHeight), false); 817 BypassRayCast, bRayEndIsIntersection, true, g.GetAxisAlignedBoundingBox(out offsetHeight), false);
817 pos.Z += offsetHeight; 818 pos.Z += offsetHeight;
819 rez_pos = pos;
818 } 820 }
819 else 821 else
820 { 822 {
@@ -829,6 +831,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
829 BypassRayCast, bRayEndIsIntersection, true, 831 BypassRayCast, bRayEndIsIntersection, true,
830 bbox, false); 832 bbox, false);
831 833
834 rez_pos = pos;
835
832 pos -= bbox / 2; 836 pos -= bbox / 2;
833 837
834 XmlNodeList groups = e.SelectNodes("SceneObjectGroup"); 838 XmlNodeList groups = e.SelectNodes("SceneObjectGroup");
@@ -865,7 +869,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
865 primcount += g.PrimCount; 869 primcount += g.PrimCount;
866 870
867 if (!m_Scene.Permissions.CanRezObject( 871 if (!m_Scene.Permissions.CanRezObject(
868 primcount, remoteClient.AgentId, pos) 872 primcount, remoteClient.AgentId, rez_pos)
869 && !attachment) 873 && !attachment)
870 { 874 {
871 // The client operates in no fail mode. It will 875 // The client operates in no fail mode. It will
@@ -882,7 +886,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
882 return null; 886 return null;
883 } 887 }
884 888
885 if (item != null && !DoPreRezWhenFromItem(remoteClient, item, objlist, pos, veclist, attachment)) 889 if (item != null && !DoPreRezWhenFromItem(remoteClient, item, objlist, rez_pos, veclist, attachment))
886 return null; 890 return null;
887 891
888 for (int i = 0; i < objlist.Count; i++) 892 for (int i = 0; i < objlist.Count; i++)