From 946f65688577846c39706b58cd3e7353d97396c0 Mon Sep 17 00:00:00 2001 From: Derek Christ Date: Wed, 11 Aug 2021 20:37:39 +0200 Subject: [PATCH] Fix a bug in drag and drop code in the TraceSelector Fixed a bug that caused multiple dragged list items to appear in the reverse order when dropped into the selected items tree widget. --- DRAMSys/traceAnalyzer/presentation/traceselector.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/DRAMSys/traceAnalyzer/presentation/traceselector.cpp b/DRAMSys/traceAnalyzer/presentation/traceselector.cpp index 4ea627a8..3d2fd69c 100644 --- a/DRAMSys/traceAnalyzer/presentation/traceselector.cpp +++ b/DRAMSys/traceAnalyzer/presentation/traceselector.cpp @@ -157,6 +157,8 @@ bool TraceSelectedTree::dropMimeData(QTreeWidgetItem *parent, int index, const Q QByteArray traceLineData = data->data("application/x-tracelinedata"); QDataStream dataStream(&traceLineData, QIODevice::ReadOnly); + QList droppedItems; + while (!dataStream.atEnd()) { TraceSelectorTreeItem::Type currentType; @@ -190,8 +192,10 @@ bool TraceSelectedTree::dropMimeData(QTreeWidgetItem *parent, int index, const Q break; } - insertTopLevelItem(index, droppedItem); + droppedItems.append(droppedItem); } + + insertTopLevelItems(index, droppedItems); } else dropHandled = QTreeWidget::dropMimeData(parent, index, data, action);