aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMelanie2013-07-13 00:57:03 +0100
committerMelanie2013-07-13 00:57:03 +0100
commitc6d75cda974a69cd9fe3276bac182aa4c6bb1f17 (patch)
tree9d5abfecd2cce676a25cd94a3ca29daf62f2e608 /OpenSim/Region/Framework/Scenes
parentMerge branch 'master' into careminster (diff)
parentReinsert PhysicsActor variable back into SOP.SubscribeForCollisionEvents() in... (diff)
downloadopensim-SC-c6d75cda974a69cd9fe3276bac182aa4c6bb1f17.zip
opensim-SC-c6d75cda974a69cd9fe3276bac182aa4c6bb1f17.tar.gz
opensim-SC-c6d75cda974a69cd9fe3276bac182aa4c6bb1f17.tar.bz2
opensim-SC-c6d75cda974a69cd9fe3276bac182aa4c6bb1f17.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs20
1 files changed, 12 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 389c2c6..2594b1b 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -4703,10 +4703,14 @@ namespace OpenSim.Region.Framework.Scenes
4703// m_log.DebugFormat("[SCENE OBJECT PART]: Updated PrimFlags on {0} {1} to {2}", Name, LocalId, Flags); 4703// m_log.DebugFormat("[SCENE OBJECT PART]: Updated PrimFlags on {0} {1} to {2}", Name, LocalId, Flags);
4704 } 4704 }
4705 4705
4706 // Subscribe for physics collision events if needed for scripts and sounds 4706 /// <summary>
4707 /// Subscribe for physics collision events if needed for scripts and sounds
4708 /// </summary>
4707 public void SubscribeForCollisionEvents() 4709 public void SubscribeForCollisionEvents()
4708 { 4710 {
4709 if (PhysActor != null) 4711 PhysicsActor pa = PhysActor;
4712
4713 if (pa != null)
4710 { 4714 {
4711 if ( 4715 if (
4712 ((AggregateScriptEvents & scriptEvents.collision) != 0) || 4716 ((AggregateScriptEvents & scriptEvents.collision) != 0) ||
@@ -4724,20 +4728,20 @@ namespace OpenSim.Region.Framework.Scenes
4724 (CollisionSound != UUID.Zero) 4728 (CollisionSound != UUID.Zero)
4725 ) 4729 )
4726 { 4730 {
4727 if (!PhysActor.SubscribedEvents()) 4731 if (!pa.SubscribedEvents())
4728 { 4732 {
4729 // If not already subscribed for event, set up for a collision event. 4733 // If not already subscribed for event, set up for a collision event.
4730 PhysActor.OnCollisionUpdate += PhysicsCollision; 4734 pa.OnCollisionUpdate += PhysicsCollision;
4731 PhysActor.SubscribeEvents(1000); 4735 pa.SubscribeEvents(1000);
4732 } 4736 }
4733 } 4737 }
4734 else 4738 else
4735 { 4739 {
4736 // There is no need to be subscribed to collisions so, if subscribed, remove subscription 4740 // There is no need to be subscribed to collisions so, if subscribed, remove subscription
4737 if (PhysActor.SubscribedEvents()) 4741 if (pa.SubscribedEvents())
4738 { 4742 {
4739 PhysActor.OnCollisionUpdate -= PhysicsCollision; 4743 pa.OnCollisionUpdate -= PhysicsCollision;
4740 PhysActor.UnSubscribeEvents(); 4744 pa.UnSubscribeEvents();
4741 } 4745 }
4742 } 4746 }
4743 } 4747 }