diff mcabber/mcabber/screen.c @ 2281:1bb9002801e5

Limit the number of roster computations/redraws per second This reduces CPU time and greatly improve performance with very large rosters (e.g. >1000 items).
author Mikael Berthe <mikael@lilotux.net>
date Sun, 25 Sep 2016 15:07:24 +0200
parents f1eebfdd6db7
children ece02eb9c81d
line wrap: on
line diff
--- a/mcabber/mcabber/screen.c	Sat Sep 24 12:31:13 2016 +0200
+++ b/mcabber/mcabber/screen.c	Sun Sep 25 15:07:24 2016 +0200
@@ -68,6 +68,8 @@
 
 #define DEFAULT_ATTENTION_CHAR '!'
 
+extern int build_buddylist;
+
 const char *LocaleCharSet = "C";
 
 static unsigned short int Log_Win_Height;
@@ -2538,7 +2540,7 @@
   }
   // We should rebuild the buddylist but not everytime
   if (!(buddylist_get_filter() & 1<<prev_st))
-    buddylist_build();
+    build_buddylist = TRUE;
   update_roster = TRUE;
 }