--- a/ChangeLog Wed Jun 22 17:43:51 2011 +0000
+++ b/ChangeLog Wed Jun 22 22:10:37 2011 +0000
@@ -18,6 +18,7 @@
* Fixed searching for buddies in public directory. (Tomasz Wasilczyk)
+ * Better status message handling. (Tomasz Wasilczyk) (#14314) version 2.8.0 (06/07/2011):
--- a/libpurple/protocols/gg/gg.c Wed Jun 22 17:43:51 2011 +0000
+++ b/libpurple/protocols/gg/gg.c Wed Jun 22 22:10:37 2011 +0000
@@ -1071,6 +1071,7 @@
+ char *status_msg = NULL; ggp_update_buddy_avatar(gc, uin);
@@ -1108,14 +1109,24 @@
- purple_debug_info("gg", "st = %s\n", st);
- //msg = charset_convert(descr, "CP1250", "UTF-8");
+ status_msg = g_strdup(descr); + g_strstrip(status_msg); + if (status_msg[0] == '\0') { + purple_debug_info("gg", "status of %u is %s [%s]\n", uin, st, + status_msg ? status_msg : ""); + if (status_msg == NULL) { purple_prpl_got_user_status(purple_connection_get_account(gc),
purple_prpl_got_user_status(purple_connection_get_account(gc),
- from, st, "message", descr, NULL);
+ from, st, "message", status_msg, NULL); @@ -1945,23 +1956,18 @@
- status = purple_presence_get_active_status(purple_buddy_get_presence(b));
+ status = purple_presence_get_active_status( + purple_buddy_get_presence(b)); msg = purple_status_get_attr_string(status, "message");
- tmp = purple_markup_strip_html(msg);
- text = g_markup_escape_text(tmp, -1);
- tmp = purple_utf8_salvage(purple_status_get_name(status));
- text = g_markup_escape_text(tmp, -1);
+ tmp = purple_markup_strip_html(msg); + text = g_markup_escape_text(tmp, -1); static void ggp_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full)