diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 0c446dc38b..fa712a7ac1 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -43,6 +43,7 @@ Patches * alex_carnell * webmage (International Business Machines Corp.) * jimbo2120 (International Business Machines Corp.) +* brianw/Sir_Ahzz LSL Devs diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 017fce89da..4f6015afda 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -576,7 +576,7 @@ namespace OpenSim.Region.Environment.LandManagement Land currentParcel = null; try { - getLandObject(start_x + x, start_y + y); + currentParcel = getLandObject(start_x + x, start_y + y); } catch (Exception) { diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 088d85af59..f44c1608cd 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -136,9 +136,13 @@ namespace OpenSim.Region.Physics.Manager // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. RequestTerseUpdate handler = OnRequestTerseUpdate; + if (handler != null) { - handler(); + lock (handler) + { + handler(); + } } } @@ -150,17 +154,25 @@ namespace OpenSim.Region.Physics.Manager OutOfBounds handler = OnOutOfBounds; if (handler != null) { - handler(pos); + lock (handler) + { + handler(pos); + } } } public virtual void SendCollisionUpdate(EventArgs e) { CollisionUpdate handler = OnCollisionUpdate; + if (handler != null) - { - handler(e); + { + lock (handler) + { + handler(e); + } } + }