瀏覽代碼

direct: Resolve DirectScrolledFrame crash on destroy

Destroying DirectScrolledFrames currently crashes the game, because they are destroyed twice. This commit makes sure to destroy the scrolls only once.

Closes #574
Derzsi Dániel 6 年之前
父節點
當前提交
c337e58f4d
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      direct/src/gui/DirectScrolledFrame.py

+ 6 - 4
direct/src/gui/DirectScrolledFrame.py

@@ -100,8 +100,10 @@ class DirectScrolledFrame(DirectFrame):
                 simpleChildGui = self.guiDict.get(parts[-1])
                 if simpleChildGui:
                     simpleChildGui.destroy()
-        self.verticalScroll.destroy()
-        self.horizontalScroll.destroy()
-        del self.verticalScroll
-        del self.horizontalScroll
+        if self.verticalScroll:
+            self.verticalScroll.destroy()
+        if self.horizontalScroll:
+            self.horizontalScroll.destroy()
+        self.verticalScroll = None
+        self.horizontalScroll = None
         DirectFrame.destroy(self)