diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-06-12 15:08:28 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-13 12:01:08 +0200 |
commit | b6f24423716b82686c86d33828b7139ac717afdd (patch) | |
tree | 9d8b3b4d2b8dc37a0c811497b237f79b5948b847 | |
parent | 443253cf1191c5157f4a5338a6fc45993ea86061 (diff) |
Fix another type of crash when dragging QDockWidget in and out
QDockWidgetPrivate::mouseMoveEvent calls q->move() which can result
in a call to QDockWidgetPrivate::endDrag(), which will delete the
state struct. Therefore mouseMoveEvent needs to check whether it's
null or not before accessing it.
Task-number: QTBUG-31672
Change-Id: I91a31620f16a80b31b65b2742e7937ae8960f0fd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index a3c331aa2b..5217e57333 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -873,7 +873,7 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event) QPoint pos = event->globalPos() - state->pressPos; q->move(pos); - if (!state->ctrlDrag) + if (state && !state->ctrlDrag) mwlayout->hover(state->widgetItem, event->globalPos()); ret = true; |