summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-04-14 15:02:42 (GMT)
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-15 07:06:08 (GMT)
commit01fd1edbb074b26a054bb545ffed979100f6be12 (patch)
tree08dfdacf593ff9fef4c6f41107f333298947e991
parent68a911862e05400ced87971c43fb27fb5d5d8ebd (diff)
downloadQt-01fd1edbb074b26a054bb545ffed979100f6be12.zip
Qt-01fd1edbb074b26a054bb545ffed979100f6be12.tar.gz
Qt-01fd1edbb074b26a054bb545ffed979100f6be12.tar.bz2
Fix crash when deleting top level windows embedded into QGraphicsProxyWidget.
Clear proxyWidget pointer in slot QGraphicsProxyWidgetPrivate::_q_removeWidgetSlot(). Task-number: QTBUG-29684 Task-number: QTBUG-33213 Change-Id: Ibdbd52aa810ca908e3d98daa00954345e7a93a48 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name> (cherry picked from qtbase/ff2dbe609ef4482d66d1ecd135b4f53f6aff7e60)
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp
index e9bbf04..b3ea09c 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
@@ -412,6 +412,10 @@ QWidget *QGraphicsProxyWidgetPrivate::findFocusChild(QWidget *child, bool next)
void QGraphicsProxyWidgetPrivate::_q_removeWidgetSlot()
{
Q_Q(QGraphicsProxyWidget);
+ if (!widget.isNull()) {
+ if (QWExtra *extra = widget->d_func()->extra)
+ extra->proxyWidget = 0;
+ }
widget = 0;
delete q;
}