Mercurial > ~mikael > mcabber > hg
diff mcabber/mcabber/commands.c @ 2291:0d350e979bde
Don't rebuild the buddylist multiple times before a screen refresh
author | franky |
---|---|
date | Tue, 01 Nov 2016 08:39:07 +0100 |
parents | 5d05e8128ef4 |
children | f181418db215 |
line wrap: on
line diff
--- a/mcabber/mcabber/commands.c Wed Dec 21 20:43:58 2016 +0100 +++ b/mcabber/mcabber/commands.c Tue Nov 01 08:39:07 2016 +0100 @@ -602,7 +602,7 @@ lock = !(buddy_getflags(bud) & ROSTER_FLAG_USRLOCK); buddy_setflags(bud, ROSTER_FLAG_USRLOCK, lock); if (may_need_refresh) { - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; } } @@ -833,15 +833,15 @@ } else if (!strcasecmp(subcmd, "hide_offline")) { buddylist_set_hide_offline_buddies(TRUE); if (current_buddy) - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; } else if (!strcasecmp(subcmd, "show_offline")) { buddylist_set_hide_offline_buddies(FALSE); - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; } else if (!strcasecmp(subcmd, "toggle_offline")) { buddylist_set_hide_offline_buddies(-1); - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; } else if (!strcasecmp(subcmd, "display")) { scr_roster_display(arg); @@ -1257,7 +1257,7 @@ buddy_hide_group(group, group_state); - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; do_group_return: @@ -2627,7 +2627,7 @@ g_free(roomname_tmp); g_free(nick); g_free(pass_utf8); - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; free_arg_lst(paramlst); } @@ -2926,7 +2926,7 @@ // Delete the room roster_del_user(buddy_getjid(bud)); scr_update_buddy_window(); - buddylist_build(); + buddylist_defer_build(); update_roster = TRUE; }