diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsActor.cs | 20 |
2 files changed, 17 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 017fce8..4f6015a 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs | |||
@@ -576,7 +576,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
576 | Land currentParcel = null; | 576 | Land currentParcel = null; |
577 | try | 577 | try |
578 | { | 578 | { |
579 | getLandObject(start_x + x, start_y + y); | 579 | currentParcel = getLandObject(start_x + x, start_y + y); |
580 | } | 580 | } |
581 | catch (Exception) | 581 | catch (Exception) |
582 | { | 582 | { |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 088d85a..f44c160 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -136,9 +136,13 @@ namespace OpenSim.Region.Physics.Manager | |||
136 | // a race condition if the last subscriber unsubscribes | 136 | // a race condition if the last subscriber unsubscribes |
137 | // immediately after the null check and before the event is raised. | 137 | // immediately after the null check and before the event is raised. |
138 | RequestTerseUpdate handler = OnRequestTerseUpdate; | 138 | RequestTerseUpdate handler = OnRequestTerseUpdate; |
139 | |||
139 | if (handler != null) | 140 | if (handler != null) |
140 | { | 141 | { |
141 | handler(); | 142 | lock (handler) |
143 | { | ||
144 | handler(); | ||
145 | } | ||
142 | } | 146 | } |
143 | } | 147 | } |
144 | 148 | ||
@@ -150,17 +154,25 @@ namespace OpenSim.Region.Physics.Manager | |||
150 | OutOfBounds handler = OnOutOfBounds; | 154 | OutOfBounds handler = OnOutOfBounds; |
151 | if (handler != null) | 155 | if (handler != null) |
152 | { | 156 | { |
153 | handler(pos); | 157 | lock (handler) |
158 | { | ||
159 | handler(pos); | ||
160 | } | ||
154 | } | 161 | } |
155 | } | 162 | } |
156 | 163 | ||
157 | public virtual void SendCollisionUpdate(EventArgs e) | 164 | public virtual void SendCollisionUpdate(EventArgs e) |
158 | { | 165 | { |
159 | CollisionUpdate handler = OnCollisionUpdate; | 166 | CollisionUpdate handler = OnCollisionUpdate; |
167 | |||
160 | if (handler != null) | 168 | if (handler != null) |
161 | { | 169 | { |
162 | handler(e); | 170 | lock (handler) |
171 | { | ||
172 | handler(e); | ||
173 | } | ||
163 | } | 174 | } |
175 | |||
164 | } | 176 | } |
165 | 177 | ||
166 | 178 | ||