# HG changeset patch # User maiku@pidgin.im # Date 1308001444 0 # Node ID ac3867fbd61f6eb7a35e4703e011d576aed689af # Parent 3a3af6ad3166df345ed2cd4ccd447718d257bd15 Allow setting custom status messages for Yahoo when "Busy" diff -r 3a3af6ad3166 -r ac3867fbd61f libpurple/protocols/yahoo/libymsg.c --- a/libpurple/protocols/yahoo/libymsg.c Sun Jun 12 17:52:59 2011 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Mon Jun 13 21:44:04 2011 +0000 @@ -3567,11 +3567,10 @@ status_id = purple_status_get_id(status); msg = purple_status_get_attr_string(status, "message"); - if (!strcmp(status_id, YAHOO_STATUS_TYPE_AVAILABLE)) { - if ((msg != NULL) && (*msg != '\0')) - return YAHOO_STATUS_CUSTOM; - else - return YAHOO_STATUS_AVAILABLE; + if ((msg != NULL) && (*msg != '\0')) { + return YAHOO_STATUS_CUSTOM; + } else if (!strcmp(status_id, YAHOO_STATUS_TYPE_AVAILABLE)) { + return YAHOO_STATUS_AVAILABLE; } else if (!strcmp(status_id, YAHOO_STATUS_TYPE_BRB)) { return YAHOO_STATUS_BRB; } else if (!strcmp(status_id, YAHOO_STATUS_TYPE_BUSY)) { @@ -4876,7 +4875,10 @@ type = purple_status_type_new(PURPLE_STATUS_AWAY, YAHOO_STATUS_TYPE_BRB, _("Be Right Back"), TRUE); types = g_list_append(types, type); - type = purple_status_type_new(PURPLE_STATUS_UNAVAILABLE, YAHOO_STATUS_TYPE_BUSY, _("Busy"), TRUE); + type = purple_status_type_new_with_attrs(PURPLE_STATUS_UNAVAILABLE, YAHOO_STATUS_TYPE_BUSY, + _("Busy"), TRUE, TRUE, FALSE, + "message", _("Message"), + purple_value_new(PURPLE_TYPE_STRING), NULL); types = g_list_append(types, type); type = purple_status_type_new(PURPLE_STATUS_AWAY, YAHOO_STATUS_TYPE_NOTATHOME, _("Not at Home"), TRUE);