summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qgraphicssystem_runtime.cpp
diff options
context:
space:
mode:
authorMichael Dominic K <mdk@codethink.co.uk>2010-08-12 15:32:23 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2010-08-12 15:33:41 +0200
commit2efd51c2808874c9217cdaea905754ae72d4e443 (patch)
tree830af1c770ef6cc46833a9bb0d823c519c0378db /src/gui/painting/qgraphicssystem_runtime.cpp
parentc622cb1c9c11ef6b51f1e2da61f94b83650f6703 (diff)
Destroy the old runtime system only when existing pixmaps were migrated.
Merge-request: 2448 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/painting/qgraphicssystem_runtime.cpp')
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index e1e0ad0f1b..2828e9db61 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -366,7 +366,7 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
#ifdef QT_DEBUG
qDebug() << "QRuntimeGraphicsSystem::setGraphicsSystem( " << name << " )";
#endif
- delete m_graphicsSystem;
+ QGraphicsSystem *oldSystem = m_graphicsSystem;
m_graphicsSystem = QGraphicsSystemFactory::create(name);
m_graphicsSystemName = name;
@@ -393,6 +393,8 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
proxy->m_windowSurface.reset(m_graphicsSystem->createWindowSurface(widget));
qt_widget_private(widget)->invalidateBuffer(widget->rect());
}
+
+ delete oldSystem;
}
void QRuntimeGraphicsSystem::removePixmapData(QRuntimePixmapData *pixmapData) const