diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-05-17 08:45:46 +0000 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2010-05-17 08:45:46 +0000 |
commit | ad8541cf862685d1f8f2bbde189f41ad605a687a (patch) | |
tree | 163962cc5869c3fb292acacc5735f845db20fe5e | |
parent | a785f4e35e65da5863457ffe6cb75c20d5cbe708 (diff) | |
download | pidgin-ad8541cf862685d1f8f2bbde189f41ad605a687a.tar.gz |
Ref the slplink before destroying the DC, or we might lose our slpcall.
-rw-r--r-- | libpurple/protocols/msn/directconn.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libpurple/protocols/msn/directconn.c b/libpurple/protocols/msn/directconn.c index 81d24d9321..aea4864b7d 100644 --- a/libpurple/protocols/msn/directconn.c +++ b/libpurple/protocols/msn/directconn.c @@ -316,6 +316,7 @@ msn_dc_send_ok(MsnDirectConn *dc) void msn_dc_fallback_to_p2p(MsnDirectConn *dc) { + MsnSlpLink *slplink; MsnSlpCall *slpcall; purple_debug_info("msn", "msn_dc_try_fallback_to_p2p %p\n", dc); @@ -323,11 +324,13 @@ msn_dc_fallback_to_p2p(MsnDirectConn *dc) g_return_if_fail(dc != NULL); slpcall = dc->slpcall; + slplink = msn_slplink_ref(dc->slplink); msn_dc_destroy(dc); if (slpcall) msn_slpcall_session_init(slpcall); + msn_slplink_unref(slplink); } static void |