From f70e4a49c9ca35c1c0ee62f188505868ff7027b3 Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 19 Sep 2024 16:09:21 +0200 Subject: [PATCH] QTableView: fix moving rows by drag-n-drop If we don't set dropEventMoved to true, then QAbstractItemView::startDrag will delete the rows after the move (after QDrag::exec() returns). Fixes: QTBUG-129128 Change-Id: I85e7903a12b13c4b73e34fa1fcac56e50f421191 Reviewed-by: Volker Hilsheimer (cherry picked from commit d2384783477e88190fb87287bb9af8ea9a46343e) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit 7f35844ed0beb48ed6ebdab9d56cd832c188cb90) --- src/widgets/itemviews/qtableview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index f0ac4a78fe0..7c407db4646 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -3165,8 +3165,10 @@ void QTableView::dropEvent(QDropEvent *event) } r = pIndex.row() + 1; // Dropped items are inserted contiguously and in the right order. } - if (dataMoved) + if (dataMoved) { + d->dropEventMoved = true; event->accept(); + } } } }