From fe20cbb55fa45bd3b1bd934033c087cd7778d6e0 Mon Sep 17 00:00:00 2001
From: "nor..67" <normen667@gmail.com>
Date: Thu, 14 Feb 2013 14:19:44 +0000
Subject: [PATCH] - cleanup BulletAppState startPhysics/stopPhysics

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10405 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
---
 .../com/jme3/bullet/BulletAppState.java       | 28 ++++++++++++-------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/engine/src/bullet-common/com/jme3/bullet/BulletAppState.java b/engine/src/bullet-common/com/jme3/bullet/BulletAppState.java
index e07be45e9..05aa9a926 100644
--- a/engine/src/bullet-common/com/jme3/bullet/BulletAppState.java
+++ b/engine/src/bullet-common/com/jme3/bullet/BulletAppState.java
@@ -154,6 +154,9 @@ public class BulletAppState implements AppState, PhysicsTickListener {
      * start it before for some reason, you can use this method.
      */
     public void startPhysics() {
+        if (initialized) {
+            return;
+        }
         //start physics thread(pool)
         if (threadingType == ThreadingType.PARALLEL) {
             startPhysicsOnExecutor();
@@ -163,13 +166,24 @@ public class BulletAppState implements AppState, PhysicsTickListener {
         pSpace.addTickListener(this);
         initialized = true;
     }
+    
+    public void stopPhysics() {
+        if(!initialized){
+            return;
+        }
+        if (executor != null) {
+            executor.shutdown();
+            executor = null;
+        }
+        pSpace.removeTickListener(this);
+        pSpace.destroy();
+        initialized = false;
+    }
 
     public void initialize(AppStateManager stateManager, Application app) {
-        if (!initialized) {
-            startPhysics();
-        }
         this.app = app;
         this.stateManager = stateManager;
+        startPhysics();
     }
 
     public boolean isInitialized() {
@@ -263,13 +277,7 @@ public class BulletAppState implements AppState, PhysicsTickListener {
             stateManager.detach(debugAppState);
             debugAppState = null;
         }
-        if (executor != null) {
-            executor.shutdown();
-            executor = null;
-        }
-        initialized = false;
-        pSpace.removeTickListener(this);
-        pSpace.destroy();
+        stopPhysics();
     }
 
     /**