Fixed: Windlight functions caused an error if called when the script's owner isn't in the scene

master-beforevarregion
Oren Hurvitz 2013-10-31 12:50:17 +02:00 odevzdal Justin Clark-Casey (justincc)
rodič 14c72d4a5b
revize 50ea2e0d67
1 změnil soubory, kde provedl 9 přidání a 3 odebrání

Zobrazit soubor

@ -446,7 +446,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSShoutError("LightShare functions are not enabled.");
return 0;
}
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && (sp == null || sp.GodLevel < 200))
{
LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
return 0;
@ -474,7 +476,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSShoutError("LightShare functions are not enabled.");
return;
}
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && (sp == null || sp.GodLevel < 200))
{
LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
return;
@ -497,7 +501,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSShoutError("LightShare functions are not enabled.");
return 0;
}
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID) && (sp == null || sp.GodLevel < 200))
{
LSShoutError("lsSetWindlightSceneTargeted can only be used by estate managers or owners.");
return 0;