# HG changeset patch # User masca@cpw.pidgin.im # Date 1276636884 0 # Node ID 22f26c3727972e3b6e950655ff86acb32c021d49 # Parent 4481d04cda70dcc1faf1cb6b8002fc464e7cca10 Manage sending messages trough switchboard in sbconn. diff -r 4481d04cda70 -r 22f26c372797 libpurple/protocols/msn/sbconn.c --- a/libpurple/protocols/msn/sbconn.c Tue Jun 15 21:05:27 2010 +0000 +++ b/libpurple/protocols/msn/sbconn.c Tue Jun 15 21:21:24 2010 +0000 @@ -59,3 +59,18 @@ msn_message_unref(msg); } +void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg) +{ + if (slplink->swboard == NULL) + { + slplink->swboard = msn_session_get_swboard(slplink->session, + slplink->remote_user, MSN_SB_FLAG_FT); + + g_return_if_fail(slplink->swboard != NULL); + + /* If swboard is destroyed we will be too */ + slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); + } + + msn_switchboard_send_msg(slplink->swboard, msg, TRUE); +} diff -r 4481d04cda70 -r 22f26c372797 libpurple/protocols/msn/sbconn.h --- a/libpurple/protocols/msn/sbconn.h Tue Jun 15 21:05:27 2010 +0000 +++ b/libpurple/protocols/msn/sbconn.h Tue Jun 15 21:21:24 2010 +0000 @@ -2,10 +2,14 @@ #define MSN_SBCONN_H #include "msg.h" +#include "slplink.h" #define MSN_SBCONN_MAX_SIZE 1202 void msn_sbconn_msg_ack(MsnMessage *msg, void *data); void msn_sbconn_msg_nak(MsnMessage *msg, void *data); + +void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg); + #endif /* MSN_SBCONN_H */ diff -r 4481d04cda70 -r 22f26c372797 libpurple/protocols/msn/slplink.c --- a/libpurple/protocols/msn/slplink.c Tue Jun 15 21:05:27 2010 +0000 +++ b/libpurple/protocols/msn/slplink.c Tue Jun 15 21:21:24 2010 +0000 @@ -274,18 +274,7 @@ } else { - if (slplink->swboard == NULL) - { - slplink->swboard = msn_session_get_swboard(slplink->session, - slplink->remote_user, MSN_SB_FLAG_FT); - - g_return_if_fail(slplink->swboard != NULL); - - /* If swboard is destroyed we will be too */ - slplink->swboard->slplinks = g_list_prepend(slplink->swboard->slplinks, slplink); - } - - msn_switchboard_send_msg(slplink->swboard, msg, TRUE); + msn_sbconn_send_msg(slplink, msg); } }