diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-01-29 09:49:14 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-01-29 09:52:35 (GMT) |
commit | f842ec12706b70f94ab5f634dc2aa025ba2cf3f2 (patch) | |
tree | 49b70c66a8d5deb952e69238d3ae1790bbd4c2a2 | |
parent | c2e53adcb015e142436127f989b0f219df7ade36 (diff) | |
download | Qt-f842ec12706b70f94ab5f634dc2aa025ba2cf3f2.zip Qt-f842ec12706b70f94ab5f634dc2aa025ba2cf3f2.tar.gz Qt-f842ec12706b70f94ab5f634dc2aa025ba2cf3f2.tar.bz2 |
Carbon: crash problem in QWidgetPrivate::hide_sys
The crash occurs because we at one point try to assign a widget that
is marked as 'about to be deleted' to a QPointer, after clearguards
has been called. The correct fix is to avoid such an assignment in
the first place.
Task-number: QTBUG-4227
Reviewed-by: Prasanth
-rw-r--r-- | src/gui/kernel/qwidget_mac.mm | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 5b5ab40..b942bdd 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -3579,6 +3579,8 @@ void QWidgetPrivate::hide_sys() if (!QWidget::mouseGrabber()){ QWidget *enterWidget = QApplication::widgetAt(QCursor::pos()); + if (enterWidget->data->in_destructor) + enterWidget = 0; QApplicationPrivate::dispatchEnterLeave(enterWidget, qt_mouseover); qt_mouseover = enterWidget; } |