# HG changeset patch # User Richard Laager # Date 1145909734 0 # Node ID 2d31d61f572ca64e1e27fc86e5e58bf103537afb # Parent 039cc76492b074cb20eaebe5e84fa635aff624f3 [gaim-migrate @ 16089] SF Patch #1470203 from Sadrul "If someone (using gaim, not sure about any other) on my buddy-list is away on yahoo, and goes idle, then there's a status-changed signal emitted saying that the buddy changed status to "available" -- which is not correct." "Also, when you have a status-message, and become idle, the status-message for that gets lost. This apparently was caused by my last patch." committer: Tailor Script diff -r 039cc76492b0 -r 2d31d61f572c src/protocols/yahoo/yahoo.c --- a/src/protocols/yahoo/yahoo.c Mon Apr 24 20:05:48 2006 +0000 +++ b/src/protocols/yahoo/yahoo.c Mon Apr 24 20:15:34 2006 +0000 @@ -153,14 +153,12 @@ status = YAHOO_STATUS_TYPE_INVISIBLE; break; case YAHOO_STATUS_CUSTOM: + case YAHOO_STATUS_IDLE: if (!f->away) status = YAHOO_STATUS_TYPE_AVAILABLE; else status = YAHOO_STATUS_TYPE_AWAY; break; - case YAHOO_STATUS_IDLE: - status = YAHOO_STATUS_TYPE_AVAILABLE; - break; default: gaim_debug_warning("yahoo", "Warning, unknown status %d\n", f->status); break; @@ -3237,7 +3235,7 @@ char *msg = NULL, *msg2 = NULL; GaimStatus *status = NULL; - if (idle && yd->current_status != YAHOO_STATUS_IDLE) + if (idle && yd->current_status != YAHOO_STATUS_CUSTOM) yd->current_status = YAHOO_STATUS_IDLE; else if (!idle && yd->current_status == YAHOO_STATUS_IDLE) { status = gaim_presence_get_active_status(gaim_account_get_presence(gaim_connection_get_account(gc)));