From 92c4b63ee1751e6b1c9a90eaee76d74c3f0d3a3e Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Tue, 12 Jul 2011 17:29:46 +0200 Subject: [PATCH] Fix a crash with QGraphicsScene. It happened when the scene gets deleted after ~QApplication has been called. test case: int main(int argc, char *argv[]) { QApplication a(argc, argv); QGraphicsScene *scene = new QGraphicsScene(&a); return 0; } Change-Id: I74d4023c9575242a2e334b2c786e00d0686c452b Reviewed-on: http://codereview.qt.nokia.com/1544 Reviewed-by: Qt Sanity Bot Reviewed-by: Gabriel de Dietrich --- src/gui/graphicsview/qgraphicsscene.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 655725b8e99..1551944a091 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -1639,7 +1639,8 @@ QGraphicsScene::~QGraphicsScene() Q_D(QGraphicsScene); // Remove this scene from qApp's global scene list. - qApp->d_func()->scene_list.removeAll(this); + if (!QApplicationPrivate::is_app_closing) + qApp->d_func()->scene_list.removeAll(this); clear();