2
0
Эх сурвалжийг харах

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 жил өмнө
parent
commit
c337e58f4d

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

@@ -100,8 +100,10 @@ class DirectScrolledFrame(DirectFrame):
                 simpleChildGui = self.guiDict.get(parts[-1])
                 simpleChildGui = self.guiDict.get(parts[-1])
                 if simpleChildGui:
                 if simpleChildGui:
                     simpleChildGui.destroy()
                     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)
         DirectFrame.destroy(self)