# HG changeset patch # User Sadrul Habib Chowdhury # Date 1253986685 0 # Node ID 60e4ef6801ff71d9c6bb6ca5a4ac92692e3cb3bc # Parent 208fbf27d98739063d4b4850c4afe61dc7ebda01 I think this is the more correct way of determining invisibility. diff -r 208fbf27d987 -r 60e4ef6801ff libpurple/protocols/yahoo/libymsg.c --- a/libpurple/protocols/yahoo/libymsg.c Sat Sep 26 17:34:10 2009 +0000 +++ b/libpurple/protocols/yahoo/libymsg.c Sat Sep 26 17:38:05 2009 +0000 @@ -4286,7 +4286,7 @@ msn = !g_ascii_strncasecmp(who, "msn/", 4); - if( strncmp(who, "+", 1) == 0 ) { + if (who[0] == '+') { /* we have an sms to be sent */ gchar *carrier = NULL; const char *alias = NULL; @@ -4543,7 +4543,7 @@ yd->current_status = get_yahoo_status_from_purple_status(status); } - invisible = !( purple_presence_is_available(purple_account_get_presence(purple_connection_get_account(gc))) ); + invisible = (yd->current_status == YAHOO_STATUS_INVISIBLE); pkt = yahoo_packet_new(YAHOO_SERVICE_Y6_STATUS_UPDATE, YAHOO_STATUS_AVAILABLE, yd->session_id);