diff --git a/src/gui/src/tabs/monitors-tab.cpp b/src/gui/src/tabs/monitors-tab.cpp index 7c7d1ab4d..bd92b2478 100644 --- a/src/gui/src/tabs/monitors-tab.cpp +++ b/src/gui/src/tabs/monitors-tab.cpp @@ -121,9 +121,13 @@ void MonitorsTab::removeSelected() void MonitorsTab::convertSelected() { - QSet rows; + // We don't use a QSet because the order of rows is important + QList rows; for (const QModelIndex &index : ui->tableMonitors->selectionModel()->selection().indexes()) { - rows.insert(m_monitorTableModel->mapToSource(index).row()); + const int row = m_monitorTableModel->mapToSource(index).row(); + if (!rows.contains(row)) { + rows.append(row); + } } for (const int row : rows) {