# HG changeset patch # User franky # Date 1487526912 -3600 # Node ID def5f64c253dd70db172bb8ce100c42ade24c86d # Parent 962c98e4864dcdf18ef4ff928bb621e7b4ffafd1 Rebuild the buddylist after disconnect/before buddylist search diff -r 962c98e4864d -r def5f64c253d mcabber/mcabber/commands.c --- a/mcabber/mcabber/commands.c Mon Feb 13 20:02:14 2017 +0100 +++ b/mcabber/mcabber/commands.c Sun Feb 19 18:55:12 2017 +0100 @@ -2918,7 +2918,6 @@ // Delete the room roster_del_user(buddy_getjid(bud)); scr_update_buddy_window(); - buddylist_defer_build(); scr_update_roster(); } diff -r 962c98e4864d -r def5f64c253d mcabber/mcabber/roster.c --- a/mcabber/mcabber/roster.c Mon Feb 13 20:02:14 2017 +0100 +++ b/mcabber/mcabber/roster.c Sun Feb 19 18:55:12 2017 +0100 @@ -438,6 +438,7 @@ // #4 Insert node (sorted) my_group->list = g_slist_insert_sorted(my_group->list, roster_usr, (GCompareFunc)&roster_compare_name); + buddylist_defer_build(); return roster_find(jid, jidsearch, type); } diff -r 962c98e4864d -r def5f64c253d mcabber/mcabber/screen.c --- a/mcabber/mcabber/screen.c Mon Feb 13 20:02:14 2017 +0100 +++ b/mcabber/mcabber/screen.c Sun Feb 19 18:55:12 2017 +0100 @@ -1443,6 +1443,7 @@ { const gchar *bjid; + buddylist_build(); if (!current_buddy) { bjid = NULL; } else { @@ -2735,6 +2736,7 @@ } } + buddylist_build(); nbuddy = g_list_find(buddylist, unread_ptr); if (nbuddy) { set_current_buddy(nbuddy); diff -r 962c98e4864d -r def5f64c253d mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Mon Feb 13 20:02:14 2017 +0100 +++ b/mcabber/mcabber/xmpp.c Sun Feb 19 18:55:12 2017 +0100 @@ -228,7 +228,6 @@ roster_del_user(cleanjid); g_free(cleanjid); - buddylist_defer_build(); scr_update_roster(); } diff -r 962c98e4864d -r def5f64c253d mcabber/mcabber/xmpp_iq.c --- a/mcabber/mcabber/xmpp_iq.c Mon Feb 13 20:02:14 2017 +0100 +++ b/mcabber/mcabber/xmpp_iq.c Sun Feb 19 18:55:12 2017 +0100 @@ -668,7 +668,6 @@ lm_message_unref(result); } - buddylist_defer_build(); scr_update_roster(); if (need_refresh) scr_update_buddy_window();