소스 검색

kill crash when closing window from diving game

Redmond Urbino 19 년 전
부모
커밋
4eeaa76c1a
1개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 6 5
      direct/src/controls/GravityWalker.py

+ 6 - 5
direct/src/controls/GravityWalker.py

@@ -359,11 +359,12 @@ class GravityWalker(DirectObject.DirectObject):
                 self.cTrav.addCollider(self.cEventSphereNodePath, self.event)
                 self.cTrav.addCollider(self.cEventSphereNodePath, self.event)
                 self.cTrav.addCollider(self.cRayNodePath, self.lifter)
                 self.cTrav.addCollider(self.cRayNodePath, self.lifter)
             else:
             else:
-                self.cTrav.removeCollider(self.cWallSphereNodePath)
-                if self.wantFloorSphere:
-                    self.cTrav.removeCollider(self.cFloorSphereNodePath)
-                self.cTrav.removeCollider(self.cEventSphereNodePath)
-                self.cTrav.removeCollider(self.cRayNodePath)
+                if hasattr(self, 'cTrav'):
+                    self.cTrav.removeCollider(self.cWallSphereNodePath)
+                    if self.wantFloorSphere:
+                        self.cTrav.removeCollider(self.cFloorSphereNodePath)
+                    self.cTrav.removeCollider(self.cEventSphereNodePath)
+                    self.cTrav.removeCollider(self.cRayNodePath)
 
 
     def getCollisionsActive(self):
     def getCollisionsActive(self):
         assert self.debugPrint("getCollisionsActive() returning=%s"%(
         assert self.debugPrint("getCollisionsActive() returning=%s"%(