Merge pull request #408 from ales-erjavec/cleanup-qgraphics-scene-init

Fix `cleanup` when the running qt application is not a QApplication
This commit is contained in:
Luke Campagnola 2016-12-14 11:13:31 -08:00 committed by GitHub
commit fe90f46bdd

View File

@ -303,7 +303,10 @@ def cleanup():
## ALL QGraphicsItems must have a scene before they are deleted.
## This is potentially very expensive, but preferred over crashing.
## Note: this appears to be fixed in PySide as of 2012.12, but it should be left in for a while longer..
if QtGui.QApplication.instance() is None:
app = QtGui.QApplication.instance()
if app is None or not isinstance(app, QtGui.QApplication):
# app was never constructed is already deleted or is an
# QCoreApplication/QGuiApplication and not a full QApplication
return
import gc
s = QtGui.QGraphicsScene()