* Found the land bug, yay

ThreadPoolClientBranch
Teravus Ovares 2008-02-20 20:07:12 +00:00
parent f3190810d3
commit 740ce20d9d
3 changed files with 18 additions and 5 deletions

View File

@ -43,6 +43,7 @@ Patches
* alex_carnell * alex_carnell
* webmage (International Business Machines Corp.) * webmage (International Business Machines Corp.)
* jimbo2120 (International Business Machines Corp.) * jimbo2120 (International Business Machines Corp.)
* brianw/Sir_Ahzz
LSL Devs LSL Devs

View File

@ -576,7 +576,7 @@ namespace OpenSim.Region.Environment.LandManagement
Land currentParcel = null; Land currentParcel = null;
try try
{ {
getLandObject(start_x + x, start_y + y); currentParcel = getLandObject(start_x + x, start_y + y);
} }
catch (Exception) catch (Exception)
{ {

View File

@ -136,11 +136,15 @@ namespace OpenSim.Region.Physics.Manager
// a race condition if the last subscriber unsubscribes // a race condition if the last subscriber unsubscribes
// immediately after the null check and before the event is raised. // immediately after the null check and before the event is raised.
RequestTerseUpdate handler = OnRequestTerseUpdate; RequestTerseUpdate handler = OnRequestTerseUpdate;
if (handler != null) if (handler != null)
{
lock (handler)
{ {
handler(); handler();
} }
} }
}
public virtual void RaiseOutOfBounds(PhysicsVector pos) public virtual void RaiseOutOfBounds(PhysicsVector pos)
{ {
@ -149,20 +153,28 @@ namespace OpenSim.Region.Physics.Manager
// immediately after the null check and before the event is raised. // immediately after the null check and before the event is raised.
OutOfBounds handler = OnOutOfBounds; OutOfBounds handler = OnOutOfBounds;
if (handler != null) if (handler != null)
{
lock (handler)
{ {
handler(pos); handler(pos);
} }
} }
}
public virtual void SendCollisionUpdate(EventArgs e) public virtual void SendCollisionUpdate(EventArgs e)
{ {
CollisionUpdate handler = OnCollisionUpdate; CollisionUpdate handler = OnCollisionUpdate;
if (handler != null) if (handler != null)
{
lock (handler)
{ {
handler(e); handler(e);
} }
} }
}
public abstract PhysicsVector Position { get; set; } public abstract PhysicsVector Position { get; set; }