diff options
author | Melanie | 2013-07-18 10:08:10 +0100 |
---|---|---|
committer | Melanie | 2013-07-18 10:08:10 +0100 |
commit | 7830cc995471120892a24a39e86283774fa07c4c (patch) | |
tree | d3f46b4f3ce95bb8572511c6f12c9f8ca86922c8 /OpenSim/Region/ScriptEngine/Shared | |
parent | Merge branch 'master' into careminster (diff) | |
parent | Document obscure Groups config related to the user level required for creatin... (diff) | |
download | opensim-SC-7830cc995471120892a24a39e86283774fa07c4c.zip opensim-SC-7830cc995471120892a24a39e86283774fa07c4c.tar.gz opensim-SC-7830cc995471120892a24a39e86283774fa07c4c.tar.bz2 opensim-SC-7830cc995471120892a24a39e86283774fa07c4c.tar.xz |
Merge branch 'master' into careminster
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
OpenSim/Services/HypergridService/UserAgentService.cs
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
4 files changed, 34 insertions, 8 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index a47e452..44a7c14 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs | |||
@@ -353,6 +353,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
353 | // Position of a sensor in a child prim attached to an avatar | 353 | // Position of a sensor in a child prim attached to an avatar |
354 | // will be still wrong. | 354 | // will be still wrong. |
355 | ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); | 355 | ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); |
356 | |||
357 | // Don't proceed if the avatar for this attachment has since been removed from the scene. | ||
358 | if (avatar == null) | ||
359 | return sensedEntities; | ||
360 | |||
356 | fromRegionPos = avatar.AbsolutePosition; | 361 | fromRegionPos = avatar.AbsolutePosition; |
357 | q = avatar.Rotation; | 362 | q = avatar.Rotation; |
358 | } | 363 | } |
@@ -483,6 +488,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
483 | // Position of a sensor in a child prim attached to an avatar | 488 | // Position of a sensor in a child prim attached to an avatar |
484 | // will be still wrong. | 489 | // will be still wrong. |
485 | ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); | 490 | ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); |
491 | |||
492 | // Don't proceed if the avatar for this attachment has since been removed from the scene. | ||
486 | if (avatar == null) | 493 | if (avatar == null) |
487 | return sensedEntities; | 494 | return sensedEntities; |
488 | fromRegionPos = avatar.AbsolutePosition; | 495 | fromRegionPos = avatar.AbsolutePosition; |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index 2260ec8..2ea265d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -332,7 +332,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
332 | void llSensorRemove(); | 332 | void llSensorRemove(); |
333 | void llSensorRepeat(string name, string id, int type, double range, double arc, double rate); | 333 | void llSensorRepeat(string name, string id, int type, double range, double arc, double rate); |
334 | void llSetAlpha(double alpha, int face); | 334 | void llSetAlpha(double alpha, int face); |
335 | void llSetAngularVelocity(LSL_Vector angvelocity, int local); | ||
336 | void llSetBuoyancy(double buoyancy); | 335 | void llSetBuoyancy(double buoyancy); |
337 | void llSetCameraAtOffset(LSL_Vector offset); | 336 | void llSetCameraAtOffset(LSL_Vector offset); |
338 | void llSetCameraEyeOffset(LSL_Vector offset); | 337 | void llSetCameraEyeOffset(LSL_Vector offset); |
@@ -344,6 +343,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
344 | void llSetDamage(double damage); | 343 | void llSetDamage(double damage); |
345 | void llSetForce(LSL_Vector force, int local); | 344 | void llSetForce(LSL_Vector force, int local); |
346 | void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local); | 345 | void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local); |
346 | void llSetAngularVelocity(LSL_Vector angularVelocity, int local); | ||
347 | void llSetHoverHeight(double height, int water, double tau); | 347 | void llSetHoverHeight(double height, int water, double tau); |
348 | void llSetInventoryPermMask(string item, int mask, int value); | 348 | void llSetInventoryPermMask(string item, int mask, int value); |
349 | void llSetLinkAlpha(int linknumber, double alpha, int face); | 349 | void llSetLinkAlpha(int linknumber, double alpha, int face); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index b58686b..41e585c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -1495,11 +1495,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1495 | m_LSL_Functions.llSetAlpha(alpha, face); | 1495 | m_LSL_Functions.llSetAlpha(alpha, face); |
1496 | } | 1496 | } |
1497 | 1497 | ||
1498 | public void llSetAngularVelocity(LSL_Vector angvelocity, int local) | ||
1499 | { | ||
1500 | m_LSL_Functions.llSetAngularVelocity(angvelocity, local); | ||
1501 | } | ||
1502 | |||
1503 | public void llSetBuoyancy(double buoyancy) | 1498 | public void llSetBuoyancy(double buoyancy) |
1504 | { | 1499 | { |
1505 | m_LSL_Functions.llSetBuoyancy(buoyancy); | 1500 | m_LSL_Functions.llSetBuoyancy(buoyancy); |
@@ -1555,6 +1550,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1555 | m_LSL_Functions.llSetForceAndTorque(force, torque, local); | 1550 | m_LSL_Functions.llSetForceAndTorque(force, torque, local); |
1556 | } | 1551 | } |
1557 | 1552 | ||
1553 | public void llSetAngularVelocity(LSL_Vector force, int local) | ||
1554 | { | ||
1555 | m_LSL_Functions.llSetAngularVelocity(force, local); | ||
1556 | } | ||
1557 | |||
1558 | public void llSetHoverHeight(double height, int water, double tau) | 1558 | public void llSetHoverHeight(double height, int water, double tau) |
1559 | { | 1559 | { |
1560 | m_LSL_Functions.llSetHoverHeight(height, water, tau); | 1560 | m_LSL_Functions.llSetHoverHeight(height, water, tau); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 8da06d1..3646c98 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | |||
@@ -242,7 +242,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
242 | if (Engine.Config.GetString("ScriptStopStrategy", "abort") == "co-op") | 242 | if (Engine.Config.GetString("ScriptStopStrategy", "abort") == "co-op") |
243 | { | 243 | { |
244 | m_coopTermination = true; | 244 | m_coopTermination = true; |
245 | m_coopSleepHandle = new AutoResetEvent(false); | 245 | m_coopSleepHandle = new XEngineEventWaitHandle(false, EventResetMode.AutoReset); |
246 | } | 246 | } |
247 | } | 247 | } |
248 | 248 | ||
@@ -1221,4 +1221,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
1221 | Suspended = false; | 1221 | Suspended = false; |
1222 | } | 1222 | } |
1223 | } | 1223 | } |
1224 | } | 1224 | |
1225 | /// <summary> | ||
1226 | /// Xengine event wait handle. | ||
1227 | /// </summary> | ||
1228 | /// <remarks> | ||
1229 | /// This class exists becase XEngineScriptBase gets a reference to this wait handle. We need to make sure that | ||
1230 | /// when scripts are running in different AppDomains the lease does not expire. | ||
1231 | /// FIXME: Like LSL_Api, etc., this effectively leaks memory since the GC will never collect it. To avoid this, | ||
1232 | /// proper remoting sponsorship needs to be implemented across the board. | ||
1233 | /// </remarks> | ||
1234 | public class XEngineEventWaitHandle : EventWaitHandle | ||
1235 | { | ||
1236 | public XEngineEventWaitHandle(bool initialState, EventResetMode mode) : base(initialState, mode) {} | ||
1237 | |||
1238 | public override Object InitializeLifetimeService() | ||
1239 | { | ||
1240 | return null; | ||
1241 | } | ||
1242 | } | ||
1243 | } \ No newline at end of file | ||