summary refs log tree commit diff
path: root/src/RoomList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/RoomList.cpp')
-rw-r--r--src/RoomList.cpp5
1 files changed, 5 insertions, 0 deletions
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<QString, bool> &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<QString, bool> &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;