# HG changeset patch # User Sean Egan # Date 1178250492 0 # Node ID 133932a97faaf1821ce3901c45a3ea87b35f6b54 # Parent 504613f178a056edbbbdd82952c930be298edc48 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215 diff -r 504613f178a0 -r 133932a97faa libpurple/protocols/msn/msn.c --- a/libpurple/protocols/msn/msn.c Fri May 04 01:46:42 2007 +0000 +++ b/libpurple/protocols/msn/msn.c Fri May 04 03:48:12 2007 +0000 @@ -368,6 +368,14 @@ data); } +static gboolean +msn_offline_message(const PurpleBuddy *buddy) { + if (buddy == NULL) + return FALSE; + MsnUser *user = buddy->proto_data; + return user && user->mobile; +} + static void initiate_chat_cb(PurpleBlistNode *node, gpointer data) { @@ -2065,7 +2073,7 @@ msn_can_receive_file, /* can_receive_file */ msn_send_file, /* send_file */ msn_new_xfer, /* new_xfer */ - NULL, /* offline_message */ + msn_offline_message, /* offline_message */ NULL, /* whiteboard_prpl_ops */ NULL, /* send_raw */ NULL, /* roomlist_room_serialize */ diff -r 504613f178a0 -r 133932a97faa libpurple/protocols/msn/user.c --- a/libpurple/protocols/msn/user.c Fri May 04 01:46:42 2007 +0000 +++ b/libpurple/protocols/msn/user.c Fri May 04 03:48:12 2007 +0000 @@ -83,7 +83,7 @@ if (user->status != NULL) { if (!strcmp(user->status, "offline") && user->mobile) { - purple_prpl_got_user_status(account, user->passport, "available", NULL); + purple_prpl_got_user_status(account, user->passport, "offline", NULL); purple_prpl_got_user_status(account, user->passport, "mobile", NULL); } else { purple_prpl_got_user_status(account, user->passport, user->status, NULL);