diff --git a/src/RoomList.cpp b/src/RoomList.cpp index 771081b9..7a88b31b 100644 --- a/src/RoomList.cpp +++ b/src/RoomList.cpp @@ -355,6 +355,9 @@ RoomList::removeFilter() void RoomList::applyFilter(const std::map &filter) { + // Disabling paint updates will resolve issues with screen flickering on big room lists. + setUpdatesEnabled(false); + for (int i = 0; i < contentsLayout_->count(); i++) { // If filter contains the room for the current RoomInfoListItem, // show the list item, otherwise hide it @@ -370,6 +373,8 @@ RoomList::applyFilter(const std::map &filter) listitem->hide(); } + setUpdatesEnabled(true); + // If the already selected room is part of the group, make sure it's visible. if (!selectedRoom_.isEmpty() && (filter.find(selectedRoom_) != filter.end())) return;