diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 27 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 3 |
2 files changed, 20 insertions, 10 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index cbb49ac..3f88353 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -1056,7 +1056,9 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1056 | if (childrenPrim.Contains(prim)) | 1056 | if (childrenPrim.Contains(prim)) |
1057 | return; | 1057 | return; |
1058 | 1058 | ||
1059 | //Console.WriteLine("childrenPrim.Add " + prim); | 1059 | // m_log.DebugFormat( |
1060 | // "[ODE PRIM]: Linking prim {0} {1} to {2} {3}", prim.Name, prim.LocalID, Name, LocalID); | ||
1061 | |||
1060 | childrenPrim.Add(prim); | 1062 | childrenPrim.Add(prim); |
1061 | 1063 | ||
1062 | foreach (OdePrim prm in childrenPrim) | 1064 | foreach (OdePrim prm in childrenPrim) |
@@ -1194,12 +1196,14 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1194 | //prm.childPrim = false; | 1196 | //prm.childPrim = false; |
1195 | } | 1197 | } |
1196 | } | 1198 | } |
1199 | |||
1197 | disableBody(); | 1200 | disableBody(); |
1198 | 1201 | ||
1199 | if (Body != IntPtr.Zero) | 1202 | // Spurious - Body == IntPtr.Zero after disableBody() |
1200 | { | 1203 | // if (Body != IntPtr.Zero) |
1201 | _parent_scene.DeactivatePrim(this); | 1204 | // { |
1202 | } | 1205 | // _parent_scene.DeactivatePrim(this); |
1206 | // } | ||
1203 | 1207 | ||
1204 | lock (childrenPrim) | 1208 | lock (childrenPrim) |
1205 | { | 1209 | { |
@@ -1213,6 +1217,9 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1213 | 1217 | ||
1214 | private void ChildDelink(OdePrim odePrim) | 1218 | private void ChildDelink(OdePrim odePrim) |
1215 | { | 1219 | { |
1220 | // m_log.DebugFormat( | ||
1221 | // "[ODE PRIM]: Delinking prim {0} {1} from {2} {3}", odePrim.Name, odePrim.LocalID, Name, LocalID); | ||
1222 | |||
1216 | // Okay, we have a delinked child.. need to rebuild the body. | 1223 | // Okay, we have a delinked child.. need to rebuild the body. |
1217 | lock (childrenPrim) | 1224 | lock (childrenPrim) |
1218 | { | 1225 | { |
@@ -1227,6 +1234,7 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1227 | //prm.childPrim = false; | 1234 | //prm.childPrim = false; |
1228 | } | 1235 | } |
1229 | } | 1236 | } |
1237 | |||
1230 | disableBody(); | 1238 | disableBody(); |
1231 | 1239 | ||
1232 | lock (childrenPrim) | 1240 | lock (childrenPrim) |
@@ -1235,10 +1243,11 @@ Console.WriteLine("ZProcessTaints for " + Name); | |||
1235 | childrenPrim.Remove(odePrim); | 1243 | childrenPrim.Remove(odePrim); |
1236 | } | 1244 | } |
1237 | 1245 | ||
1238 | if (Body != IntPtr.Zero) | 1246 | // Spurious - Body == IntPtr.Zero after disableBody() |
1239 | { | 1247 | // if (Body != IntPtr.Zero) |
1240 | _parent_scene.DeactivatePrim(this); | 1248 | // { |
1241 | } | 1249 | // _parent_scene.DeactivatePrim(this); |
1250 | // } | ||
1242 | 1251 | ||
1243 | lock (childrenPrim) | 1252 | lock (childrenPrim) |
1244 | { | 1253 | { |
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index 842ff91..409b27b 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs | |||
@@ -2226,7 +2226,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2226 | /// <param name="prim"></param> | 2226 | /// <param name="prim"></param> |
2227 | internal void RemovePrimThreadLocked(OdePrim prim) | 2227 | internal void RemovePrimThreadLocked(OdePrim prim) |
2228 | { | 2228 | { |
2229 | //Console.WriteLine("RemovePrimThreadLocked " + prim.m_primName); | 2229 | // m_log.DebugFormat("[ODE SCENE]: Removing physical prim {0} {1}", prim.Name, prim.LocalID); |
2230 | |||
2230 | lock (prim) | 2231 | lock (prim) |
2231 | { | 2232 | { |
2232 | RemoveCollisionEventReporting(prim); | 2233 | RemoveCollisionEventReporting(prim); |