diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index 9114fc578a..6fa116d27d 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -1,5 +1,4 @@
- <<<>>>>The following people have contributed to OpenSim (Thank you
-for your effort!)
+The following people have contributed to OpenSim (Thank you for your effort!)
= Current OpenSim Developers (in very rough order of appearance) =
These folks represent the current core team for OpenSim, and are the
@@ -61,8 +60,9 @@ where we are today.
These folks have contributed code patches or content to OpenSimulator to help make it
what it is today.
-* aduffy70
* A_Biondi
+* aduffy70
+* Ai Austin
* alex_carnell
* Alan Webb (IBM)
* Aleric
@@ -173,23 +173,18 @@ what it is today.
* Zha Ewry
* ziah
-
= LSL Devs =
-
* Alondria
* CharlieO
* Tedd
* Melanie Thielker
-
= Testers =
-
* Ai Austin
* CharlieO (LSL)
* Ckrinke
* openlifegrid.com
-
This software uses components from the following developers:
* Sleepycat Software (Berkeley DB)
* Aurora-Sim (http://aurora-sim.org)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs
index 1d6cb6d4dc..b13a5ae57e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs
@@ -434,6 +434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
return wl;
}
+
///
/// Set the current Windlight scene
///
@@ -446,13 +447,21 @@ 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)
+
+ if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID))
{
- LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
- return 0;
+ ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
+
+ if (sp == null || sp.GodLevel < 200)
+ {
+ LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
+ return 0;
+ }
}
+
int success = 0;
m_host.AddScriptLPS(1);
+
if (LightShareModule.EnableWindlight)
{
RegionLightShareData wl = getWindlightProfileFromRules(rules);
@@ -465,8 +474,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSShoutError("Windlight module is disabled");
return 0;
}
+
return success;
}
+
public void lsClearWindlightScene()
{
if (!m_LSFunctionsEnabled)
@@ -474,17 +485,25 @@ 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)
+
+ if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID))
{
- LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
- return;
+ ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
+
+ if (sp == null || sp.GodLevel < 200)
+ {
+ LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
+ return;
+ }
}
m_host.ParentGroup.Scene.RegionInfo.WindlightSettings.valid = false;
if (m_host.ParentGroup.Scene.SimulationDataService != null)
m_host.ParentGroup.Scene.SimulationDataService.RemoveRegionWindlightSettings(m_host.ParentGroup.Scene.RegionInfo.RegionID);
+
m_host.ParentGroup.Scene.EventManager.TriggerOnSaveNewWindlightProfile();
}
+
///
/// Set the current Windlight scene to a target avatar
///
@@ -497,13 +516,21 @@ 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)
+
+ if (!World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_host.OwnerID))
{
- LSShoutError("lsSetWindlightSceneTargeted can only be used by estate managers or owners.");
- return 0;
+ ScenePresence sp = World.GetScenePresence(m_host.OwnerID);
+
+ if (sp == null || sp.GodLevel < 200)
+ {
+ LSShoutError("lsSetWindlightSceneTargeted can only be used by estate managers or owners.");
+ return 0;
+ }
}
+
int success = 0;
m_host.AddScriptLPS(1);
+
if (LightShareModule.EnableWindlight)
{
RegionLightShareData wl = getWindlightProfileFromRules(rules);
@@ -515,8 +542,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSShoutError("Windlight module is disabled");
return 0;
}
+
return success;
- }
-
+ }
}
-}
+}
\ No newline at end of file