aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Common
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-13 14:13:46 +0000
committerMelanie Thielker2008-08-13 14:13:46 +0000
commite46248ab17d56ec25c6b7495c23afe98838a89b6 (patch)
tree6df03d62541b6417e780633ff8c7a26d833a350f /OpenSim/Region/ScriptEngine/Common
parentMantis#1925. Thank you, homerHorwitz for a patch that: (diff)
downloadopensim-SC-e46248ab17d56ec25c6b7495c23afe98838a89b6.zip
opensim-SC-e46248ab17d56ec25c6b7495c23afe98838a89b6.tar.gz
opensim-SC-e46248ab17d56ec25c6b7495c23afe98838a89b6.tar.bz2
opensim-SC-e46248ab17d56ec25c6b7495c23afe98838a89b6.tar.xz
Thank you, tyre, for a patch that fixes a null reference in LSL
function llOverMyLand().
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs21
1 files changed, 10 insertions, 11 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 41703cd..cef9cbf 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -4241,26 +4241,25 @@ namespace OpenSim.Region.ScriptEngine.Common
4241 4241
4242 public LSL_Types.LSLInteger llOverMyLand(string id) 4242 public LSL_Types.LSLInteger llOverMyLand(string id)
4243 { 4243 {
4244
4245 m_host.AddScriptLPS(1); 4244 m_host.AddScriptLPS(1);
4246 LLUUID key = new LLUUID(); 4245 LLUUID key = new LLUUID();
4247 if (LLUUID.TryParse(id,out key)) 4246 if (LLUUID.TryParse(id,out key))
4248 { 4247 {
4249 SceneObjectPart obj = new SceneObjectPart(); 4248 ScenePresence presence = World.GetScenePresence(key);
4250 obj = World.GetSceneObjectPart(World.Entities[key].LocalId); 4249 if (presence != null) // object is an avatar
4251 if (obj.OwnerID == World.GetLandOwner(obj.AbsolutePosition.X, obj.AbsolutePosition.Y))
4252 { 4250 {
4253 return 1; 4251 if (m_host.OwnerID == World.GetLandOwner(presence.AbsolutePosition.X, presence.AbsolutePosition.Y))
4252 return 1;
4254 } 4253 }
4255 else 4254 else // object is not an avatar
4256 { 4255 {
4257 return 0; 4256 SceneObjectPart obj = World.GetSceneObjectPart(key);
4257 if (obj != null)
4258 if (m_host.OwnerID == World.GetLandOwner(obj.AbsolutePosition.X, obj.AbsolutePosition.Y))
4259 return 1;
4258 } 4260 }
4259 } 4261 }
4260 else 4262 return 0;
4261 {
4262 return 0;
4263 }
4264 } 4263 }
4265 4264
4266 public string llGetLandOwnerAt(LSL_Types.Vector3 pos) 4265 public string llGetLandOwnerAt(LSL_Types.Vector3 pos)