浏览代码

fix deadlock at exit

David Rose 18 年之前
父节点
当前提交
9f2e1596fd
共有 2 个文件被更改,包括 4 次插入0 次删除
  1. 3 0
      direct/src/showbase/Loader.py
  2. 1 0
      direct/src/showbase/ShowBase.py

+ 3 - 0
direct/src/showbase/Loader.py

@@ -51,6 +51,9 @@ class Loader(DirectObject):
 
     def destroy(self):
         self.ignore(self.hook)
+        # Temp condition for old Panda.
+        if hasattr(loader, "stopThreads"):
+            self.loader.stopThreads()
         del self.base
         del self.loader
 

+ 1 - 0
direct/src/showbase/ShowBase.py

@@ -388,6 +388,7 @@ class ShowBase(DirectObject.DirectObject):
         is closed cleanly, so that we free system resources, restore
         the desktop and keyboard functionality, etc.
         """
+        self.loader.destroy()
         self.graphicsEngine.removeAllWindows()
 
         if self.musicManager: