浏览代码

messenger hook cleanup

Darren Ranalli 19 年之前
父节点
当前提交
e37af2fe40
共有 3 个文件被更改,包括 12 次插入0 次删除
  1. 6 0
      direct/src/gui/DirectScrollBar.py
  2. 4 0
      direct/src/gui/DirectScrolledFrame.py
  3. 2 0
      direct/src/gui/DirectSlider.py

+ 6 - 0
direct/src/gui/DirectScrollBar.py

@@ -123,6 +123,12 @@ class DirectScrollBar(DirectFrame):
         self.guiItem.setResizeThumb(self['resizeThumb'])
         self.guiItem.setResizeThumb(self['resizeThumb'])
 
 
     def destroy(self):
     def destroy(self):
+        self.thumb.destroy()
+        del self.thumb
+        self.incButton.destroy()
+        del self.incButton
+        self.decButton.destroy()
+        del self.decButton
         DirectFrame.destroy(self)
         DirectFrame.destroy(self)
 
 
     def commandFunc(self):
     def commandFunc(self):

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

@@ -93,5 +93,9 @@ class DirectScrolledFrame(DirectFrame):
         for child in self.canvas.getChildrenAsList():
         for child in self.canvas.getChildrenAsList():
             childGui = self.guiDict.get(child.getName())
             childGui = self.guiDict.get(child.getName())
             if childGui: childGui.destroy()
             if childGui: childGui.destroy()
+        self.verticalScroll.destroy()
+        self.horizontalScroll.destroy()
+        del self.verticalScroll
+        del self.horizontalScroll
         DirectFrame.destroy(self)
         DirectFrame.destroy(self)
 
 

+ 2 - 0
direct/src/gui/DirectSlider.py

@@ -114,6 +114,8 @@ class DirectSlider(DirectFrame):
             raise ValueError, 'Invalid value for orientation: %s' % (self['orientation'])
             raise ValueError, 'Invalid value for orientation: %s' % (self['orientation'])
 
 
     def destroy(self):
     def destroy(self):
+        self.thumb.destroy() # ow!
+        del self.thumb
         DirectFrame.destroy(self)
         DirectFrame.destroy(self)
 
 
     def commandFunc(self):
     def commandFunc(self):