changeset 1522:5ef122b2bb75

Use the status string of the most likely resource in the chat status bar T. Glaser reported that mcabber can display the status string of a resource with a low priority in the chat status bar. A string which doesn't match the displayed status itself...
author Mikael Berthe <mikael@lilotux.net>
date Wed, 01 Oct 2008 19:09:59 +0200
parents 33f8f795abd2
children da91b601bc77
files mcabber/src/screen.c
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/screen.c	Tue Sep 30 19:50:46 2008 +0200
+++ b/mcabber/src/screen.c	Wed Oct 01 19:09:59 2008 +0200
@@ -1722,13 +1722,16 @@
 
   // No status message for MUC rooms
   if (!ismuc) {
-    GSList *resources, *p_res;
+    GSList *resources, *p_res, *p_next_res;
     resources = buddy_getresources(BUDDATA(current_buddy));
-    msg = buddy_getstatusmsg(BUDDATA(current_buddy),
-                             resources ? resources->data : "");
-    // Free the resources list data
-    for (p_res = resources ; p_res ; p_res = g_slist_next(p_res))
+
+    for (p_res = resources ; p_res ; p_res = p_next_res) {
+      p_next_res = g_slist_next(p_res);
+      // Store the status message of the latest resource (highest priority)
+      if (!p_next_res)
+        msg = buddy_getstatusmsg(BUDDATA(current_buddy), p_res->data);
       g_free(p_res->data);
+    }
     g_slist_free(resources);
   } else {
     msg = buddy_gettopic(BUDDATA(current_buddy));