summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
diff options
context:
space:
mode:
authorSergio Martins <sergio.martins@kdab.com>2016-12-05 22:04:25 +0000
committerSérgio Martins <sergio.martins@kdab.com>2016-12-06 15:34:53 +0000
commit0382bb2ab830898fa14b6e42d5ca1b105f6693a7 (patch)
tree496cb8c60c53dd7ecb06da3d5baafcbead85f9c1 /src/widgets/widgets
parent3c4febf5571e2a34846e6377688676dbd034556b (diff)
Fix crash when dragging a tab off QDockWidgetGroupWindow
Crashes later in QMainWindowLayout::hover() Change-Id: Ibf1085ebfa7b0edcbd1662b0300550788b7f9c33 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r--src/widgets/widgets/qdockwidget.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 1df7259aba..c9cb826213 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -797,8 +797,10 @@ void QDockWidgetPrivate::endDrag(bool abort)
if (abort || !mwLayout->plug(state->widgetItem)) {
if (hasFeature(this, QDockWidget::DockWidgetFloatable)) {
// This QDockWidget will now stay in the floating state.
- if (state->ownWidgetItem)
+ if (state->ownWidgetItem) {
delete state->widgetItem;
+ state->widgetItem = nullptr;
+ }
mwLayout->restore();
QDockWidgetLayout *dwLayout = qobject_cast<QDockWidgetLayout*>(layout);
if (!dwLayout->nativeWindowDeco()) {