From 801af1864c6497d4af4a4da568cf0f120e2abfdb Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 12 Jul 2021 01:07:10 +0200 Subject: [PATCH] Fix off-by-1 in insertRows when loading room list from initial sync --- .gitlab-ci.yml | 2 +- src/timeline/RoomlistModel.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b094fb89..6fbb90a7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -162,7 +162,7 @@ appimage-amd64: before_script: # app build requirements - apt-get update && apt-get install -y software-properties-common - - add-apt-repository ppa:beineri/opt-qt-5.15.2-xenial -y + - add-apt-repository ppa:beineri/opt-qt-5.15.2-bionic -y - apt-get update - apt-get install -y git wget curl diff --git a/src/timeline/RoomlistModel.cpp b/src/timeline/RoomlistModel.cpp index e2901260..1c1057e1 100644 --- a/src/timeline/RoomlistModel.cpp +++ b/src/timeline/RoomlistModel.cpp @@ -348,7 +348,7 @@ RoomlistModel::addRoom(const QString &room_id, bool suppressInsertNotification) beginInsertRows(QModelIndex(), (int)roomids.size(), (int)(roomids.size() + previewsToAdd.size() - - ((wasInvite || wasPreview) ? 0 : 1))); + ((wasInvite || wasPreview) ? 1 : 0))); models.insert(room_id, std::move(newRoom)); if (wasInvite) { @@ -368,7 +368,8 @@ RoomlistModel::addRoom(const QString &room_id, bool suppressInsertNotification) roomids.push_back(std::move(p)); } - if (!suppressInsertNotification && !wasInvite) + if (!suppressInsertNotification && + ((!wasInvite && !wasPreview) || !previewedRooms.empty())) endInsertRows(); } }