summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget.cpp
diff options
context:
space:
mode:
authorGareth Stockwell <gareth.stockwell@sosco.com>2009-10-14 12:18:18 (GMT)
committerGareth Stockwell <gareth.stockwell@sosco.com>2009-10-15 08:50:58 (GMT)
commit6c694eaae2b40be57c3292f43e085893095d9722 (patch)
treed40dd51a95a181d139af161c348f14d07201bf8b /src/gui/kernel/qwidget.cpp
parentb7142463c738cc1a0540fe456002fe94e7f5a894 (diff)
downloadQt-6c694eaae2b40be57c3292f43e085893095d9722.zip
Qt-6c694eaae2b40be57c3292f43e085893095d9722.tar.gz
Qt-6c694eaae2b40be57c3292f43e085893095d9722.tar.bz2
When reparenting native widget, delayed deletion of Symbian control
until control returns to the event loop. This is necessary because reparenting can be triggered from the context of a control's event handler. If reparenting causes that control to be deleted, a crash can result. Task-number: QTBUG-4664 Reviewed-by: axis
Diffstat (limited to 'src/gui/kernel/qwidget.cpp')
-rw-r--r--src/gui/kernel/qwidget.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 7c11c00..7c9356e 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -11994,3 +11994,10 @@ void QWidget::clearMask()
XRender extension is not supported on the X11 display, or if the
handle could not be created.
*/
+
+#ifdef Q_OS_SYMBIAN
+void QWidgetPrivate::_q_delayedDestroy(WId winId)
+{
+ delete winId;
+}
+#endif