# HG changeset patch # User Mikael Berthe # Date 1165613546 -3600 # Node ID 1ef7572c3096ad5d0eff8562189f275201cc26d1 # Parent 10f9d6fcfeab211460cef04d74d91514025eb173 Sort the resources again when a priority changes diff -r 10f9d6fcfeab -r 1ef7572c3096 mcabber/src/roster.c --- a/mcabber/src/roster.c Fri Dec 08 22:08:05 2006 +0100 +++ b/mcabber/src/roster.c Fri Dec 08 22:32:26 2006 +0100 @@ -188,8 +188,14 @@ for (p = rost->resource; p; p = g_slist_next(p)) { res *r = p->data; - if (!strcmp(r->name, resname)) + if (!strcmp(r->name, resname)) { + if (prio != r->prio) { + r->prio = prio; + rost->resource = g_slist_sort(rost->resource, + (GCompareFunc)&resource_compare_prio); + } return r; + } } // Resource not found @@ -496,7 +502,6 @@ // New or updated resource p_res = get_or_add_resource(roster_usr, resname, prio); - p_res->prio = prio; p_res->status = bstat; if (p_res->status_msg) { g_free((gchar*)p_res->status_msg);