From 73e3161c88c7e10afe9780fd688ce7b977b0b81e Mon Sep 17 00:00:00 2001
From: Konstantinos Sideris <sideris.konstantin@gmail.com>
Date: Sat, 21 Jul 2018 14:57:56 +0300
Subject: [PATCH] Disable paint updates while applying room filtering (#380)

---
 src/RoomList.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 771081b9a..7a88b31b5 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;
-- 
GitLab