From b6d372e97e145902cadda6a1d383ec6b712ff03f Mon Sep 17 00:00:00 2001 From: David Vierra Date: Sat, 30 Jan 2016 15:10:43 -1000 Subject: [PATCH] Rename 'destroy' methods to 'dealloc' Removes confusion with QWidget::destroy, which is not virtual and thus is never dispatched into Python code. --- src/mcedit2/editorapp.py | 2 +- src/mcedit2/editorsession.py | 10 +++++----- src/mcedit2/rendering/scenegraph/rendernode.py | 8 ++++---- src/mcedit2/util/glutils.py | 8 ++++---- src/mcedit2/worldlist.py | 2 +- src/mcedit2/worldview/worldview.py | 10 +++++----- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/mcedit2/editorapp.py b/src/mcedit2/editorapp.py index 751a65c..61b54fc 100644 --- a/src/mcedit2/editorapp.py +++ b/src/mcedit2/editorapp.py @@ -644,7 +644,7 @@ class MCEditApp(QtGui.QApplication): self.removeSessionDockWidgets() self.undoGroup.removeStack(session.undoStack) self.sessions.remove(session) - session.destroy() + session.dealloc() gc.collect() else: self.tabWidget.removeTab(index) diff --git a/src/mcedit2/editorsession.py b/src/mcedit2/editorsession.py index e9c077d..3340c69 100644 --- a/src/mcedit2/editorsession.py +++ b/src/mcedit2/editorsession.py @@ -490,10 +490,10 @@ class EditorSession(QtCore.QObject): if hasattr(progress, 'progressCount') and progress.progressCount != progressMax: log.info("Update progressMax to %d, please.", progress.progressCount) - def destroy(self): + def dealloc(self): self.worldEditor.close() self.worldEditor = None - self.editorTab.destroy() + self.editorTab.dealloc() # Break all reference cycles just to be absolutely sure. self.__dict__.clear() @@ -1318,12 +1318,12 @@ class EditorTab(QtGui.QWidget): spacer.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) self.viewButtonToolbar.addWidget(spacer) - def destroy(self, *a, **kw): + def dealloc(self, *a, **kw): self.editorSession = None for view in self.views: - view.destroy() + view.dealloc() - super(EditorTab, self).destroy(*a, **kw) + super(EditorTab, self).dealloc(*a, **kw) def setDayTime(self, value): if self.editorSession.textureAtlas: diff --git a/src/mcedit2/rendering/scenegraph/rendernode.py b/src/mcedit2/rendering/scenegraph/rendernode.py index a7fb5b2..3de704d 100644 --- a/src/mcedit2/rendering/scenegraph/rendernode.py +++ b/src/mcedit2/rendering/scenegraph/rendernode.py @@ -141,10 +141,10 @@ class RenderNode(object): def drawSelf(self): pass - def destroy(self): + def dealloc(self): for child in self.children: - child.destroy() - self.displayList.destroy() + child.dealloc() + self.displayList.dealloc() """ UNUSED?? @@ -238,7 +238,7 @@ def updateChildren(renderNode): for node in orphans: renderNode.removeChild(node) - node.destroy() + node.dealloc() # Find sceneNode children who do not have a renderNode as a child of this renderNode for index, sceneChild in enumerate(sceneNode.children): diff --git a/src/mcedit2/util/glutils.py b/src/mcedit2/util/glutils.py index c2e4e45..cd67454 100644 --- a/src/mcedit2/util/glutils.py +++ b/src/mcedit2/util/glutils.py @@ -36,7 +36,7 @@ log = logging.getLogger(__name__) class gl(object): @classmethod def ResetGL(cls): - DisplayList.destroyAllLists() + DisplayList.deallocAllLists() @classmethod @contextmanager @@ -120,12 +120,12 @@ class DisplayList(object): allDisplayLists.append(weakref.ref(self, _delete)) @classmethod - def destroyAllLists(self): + def deallocAllLists(self): allLists = [] for listref in allDisplayLists: list = listref() if list: - list.destroy() + list.dealloc() allLists.append(listref) allDisplayLists[:] = allLists @@ -133,7 +133,7 @@ class DisplayList(object): def invalidate(self): self.dirty = True - def destroy(self): + def dealloc(self): if self._list is not None: GL.glDeleteLists(self._list, 1) self._list = None diff --git a/src/mcedit2/worldlist.py b/src/mcedit2/worldlist.py index 20404e7..f6d2922 100644 --- a/src/mcedit2/worldlist.py +++ b/src/mcedit2/worldlist.py @@ -394,7 +394,7 @@ class WorldListWidget(QtGui.QDialog, Ui_worldList): QtGui.qApp.processEvents() # force repaint of stackedWidget to hide old error widget if self.worldView: log.info("Removing view from WorldListWidget") - self.worldView.destroy() + self.worldView.dealloc() self.stackedWidget.removeWidget(self.worldView) self.worldView.setParent(None) self.worldView = None diff --git a/src/mcedit2/worldview/worldview.py b/src/mcedit2/worldview/worldview.py index 1108906..59e67f2 100644 --- a/src/mcedit2/worldview/worldview.py +++ b/src/mcedit2/worldview/worldview.py @@ -188,11 +188,11 @@ class WorldView(QGLWidget): self.setDimension(dimension) - def destroy(self, *a, **kw): - self.makeCurrent() - self.renderGraph.destroy() + def dealloc(self): + log.info("Deallocating GL resources for worldview %s", self) self.bufferSwapThread.quit() - super(WorldView, self).destroy(*a, **kw) + self.makeCurrent() + self.renderGraph.dealloc() def __str__(self): try: @@ -218,7 +218,7 @@ class WorldView(QGLWidget): self.dimension = dimension self.makeCurrent() if self.renderGraph: - self.renderGraph.destroy() + self.renderGraph.dealloc() self.sceneGraph = self.createSceneGraph() self.renderGraph = rendernode.createRenderNode(self.sceneGraph) self.resetLoadOrder()