aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs34
2 files changed, 20 insertions, 16 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
index be7cfea..d8a2272 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
@@ -828,7 +828,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
828 } 828 }
829 829
830 // hover 830 // hover
831 if (m_VhoverTimescale < 300 && m_VhoverHeight >0 && rootPrim.prim_geom != IntPtr.Zero) 831 if (m_VhoverTimescale < 300 && rootPrim.prim_geom != IntPtr.Zero)
832 { 832 {
833 // d.Vector3 pos = d.BodyGetPosition(Body); 833 // d.Vector3 pos = d.BodyGetPosition(Body);
834 d.Vector3 pos = d.GeomGetPosition(rootPrim.prim_geom); 834 d.Vector3 pos = d.GeomGetPosition(rootPrim.prim_geom);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index cf61943..ce0e59c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6861,9 +6861,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6861 if (uuid == m_host.ParentGroup.RootPart.GroupID) 6861 if (uuid == m_host.ParentGroup.RootPart.GroupID)
6862 return new LSL_Integer(1); 6862 return new LSL_Integer(1);
6863 6863
6864 // We got passed a UUID.Zero 6864 // Handle object case
6865 if (uuid == UUID.Zero) 6865 SceneObjectPart part = World.GetSceneObjectPart(uuid);
6866 return new LSL_Integer(0); 6866 if (part != null)
6867 {
6868
6869 if(part.ParentGroup.IsAttachment)
6870 {
6871 uuid = part.ParentGroup.AttachedAvatar;
6872 }
6873 else
6874 {
6875 // This will handle both deed and non-deed and also the no
6876 // group case
6877 if (part.ParentGroup.RootPart.GroupID == m_host.ParentGroup.RootPart.GroupID)
6878 return new LSL_Integer(1);
6879
6880 return new LSL_Integer(0);
6881 }
6882 }
6867 6883
6868 // Handle the case where id names an avatar 6884 // Handle the case where id names an avatar
6869 ScenePresence presence = World.GetScenePresence(uuid); 6885 ScenePresence presence = World.GetScenePresence(uuid);
@@ -6879,18 +6895,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6879 return new LSL_Integer(0); 6895 return new LSL_Integer(0);
6880 } 6896 }
6881 6897
6882 // Handle object case
6883 SceneObjectPart part = World.GetSceneObjectPart(uuid);
6884 if (part != null)
6885 {
6886 // This will handle both deed and non-deed and also the no
6887 // group case
6888 if (part.ParentGroup.RootPart.GroupID == m_host.ParentGroup.RootPart.GroupID)
6889 return new LSL_Integer(1);
6890
6891 return new LSL_Integer(0);
6892 }
6893
6894 return new LSL_Integer(0); 6898 return new LSL_Integer(0);
6895 } 6899 }
6896 6900