Mercurial > pidgin
diff libpurple/protocols/msn/user.c @ 22570:1168dc635ac1
some other mobile stuff that Maiku fixed, fixes #2359
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Fri, 28 Mar 2008 07:58:20 +0000 |
parents | c80d0732fa40 |
children | b30f54a72031 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/user.c Thu Mar 27 06:32:31 2008 +0000 +++ b/libpurple/protocols/msn/user.c Fri Mar 28 07:58:20 2008 +0000 @@ -97,8 +97,22 @@ if (user->status != NULL) { gboolean offline = (strcmp(user->status, "offline") == 0); - purple_prpl_got_user_status(account, user->passport, user->status, - "message", user->statusline, NULL); + + if (!offline) { + purple_prpl_got_user_status(account, user->passport, user->status, + "message", user->statusline, NULL); + } else { + if (user->mobile) { + purple_prpl_got_user_status(account, user->passport, "mobile", NULL); + purple_prpl_got_user_status(account, user->passport, "available", NULL); + } else { + purple_prpl_got_user_status(account, user->passport, user->status, NULL); + } + } + + if (!offline || !user->mobile) { + purple_prpl_got_user_status_deactive(account, user->passport, "mobile"); + } if (!offline && user->media.title) { purple_prpl_got_user_status(account, user->passport, "tune", @@ -108,13 +122,7 @@ NULL); } else { purple_prpl_got_user_status_deactive(account, user->passport, "tune"); - } - - if (!offline && user->mobile) { - purple_prpl_got_user_status(account, user->passport, "mobile", NULL); - } else { - purple_prpl_got_user_status_deactive(account, user->passport, "mobile"); - } + } } if (user->idle)