summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-09-10 23:30:47 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-09-10 23:30:47 (GMT)
commit86f167ceaf92b386595d62a43bb5d00b4019c989 (patch)
tree1353330a67306f2fdae49468dfdf07c5912baaca /src/gui
parent581df4debb1660ad1879fd59baf79f7fbde260ed (diff)
parentff98c93a33170b8fdc28b553490819b51cb80d86 (diff)
downloadQt-86f167ceaf92b386595d62a43bb5d00b4019c989.zip
Qt-86f167ceaf92b386595d62a43bb5d00b4019c989.tar.gz
Qt-86f167ceaf92b386595d62a43bb5d00b4019c989.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fix crash in QRuntimeGraphicsSystem due to destruction order. Fix crash in OpenVG when failing to allocate large VGImages. Updated 4.7.0 changelog
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qapplication.cpp2
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index e99f6ca..d6fb630 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -1140,6 +1140,8 @@ QApplication::~QApplication()
QApplicationPrivate::app_style = 0;
delete QApplicationPrivate::app_icon;
QApplicationPrivate::app_icon = 0;
+ delete QApplicationPrivate::graphics_system;
+ QApplicationPrivate::graphics_system = 0;
#ifndef QT_NO_CURSOR
d->cursor_list.clear();
#endif
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index 2828e9d..a9fbbee 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -94,7 +94,8 @@ QRuntimePixmapData::QRuntimePixmapData(const QRuntimeGraphicsSystem *gs, PixelTy
QRuntimePixmapData::~QRuntimePixmapData()
{
- m_graphicsSystem->removePixmapData(this);
+ if (QApplicationPrivate::graphics_system)
+ m_graphicsSystem->removePixmapData(this);
delete m_data;
}
@@ -258,7 +259,8 @@ QRuntimeWindowSurface::QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, Q
QRuntimeWindowSurface::~QRuntimeWindowSurface()
{
- m_graphicsSystem->removeWindowSurface(this);
+ if (QApplicationPrivate::graphics_system)
+ m_graphicsSystem->removeWindowSurface(this);
}
QPaintDevice *QRuntimeWindowSurface::paintDevice()