summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2009-08-11 06:31:21 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2009-08-11 06:31:21 (GMT)
commitaa11cdf62d5b6b1b19fb3cf241267917a875aba9 (patch)
tree9edc72088d25a227507e5e61faa2e2c5cdcd8411
parent21acca0629c03e6c3cfdfb23441b2b0ac6313a59 (diff)
downloadQt-aa11cdf62d5b6b1b19fb3cf241267917a875aba9.zip
Qt-aa11cdf62d5b6b1b19fb3cf241267917a875aba9.tar.gz
Qt-aa11cdf62d5b6b1b19fb3cf241267917a875aba9.tar.bz2
Fixed KERN-EXEC 3 crash in qdesktopwidget for S60.
QDesktopWidgetPrivate::rects etc variables are shared between QDesktopWidgetPrivate objects and private objects maintains refcount to data. We called cleanup for private object directly from QDesktopWidget, which caused the shared private data to be freed after some instance of QDesktopWidget was destroyed. Since we bypassed the refcount also the data for other QDesktopWidgets was invalidated and this cauyse crash when resizeEvent was received. There is no need to call QDesktopWidgetPrivate::cleanup directly since when QDesktopWidget is deleted, it will call destructor for QDesktopWidgetPrivate which deletes the shared data based on ref count.
-rw-r--r--src/gui/kernel/qdesktopwidget_s60.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/gui/kernel/qdesktopwidget_s60.cpp b/src/gui/kernel/qdesktopwidget_s60.cpp
index 226a759..5734ddd 100644
--- a/src/gui/kernel/qdesktopwidget_s60.cpp
+++ b/src/gui/kernel/qdesktopwidget_s60.cpp
@@ -126,7 +126,6 @@ QDesktopWidget::QDesktopWidget()
QDesktopWidget::~QDesktopWidget()
{
- QDesktopWidgetPrivate::cleanup();
}
bool QDesktopWidget::isVirtualDesktop() const