--- 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);