# HG changeset patch # User Elliott Sales de Andrade # Date 1274085946 0 # Node ID ccae796bdbad757a2512638e8e74f5e929df29d8 # Parent 28f774432954c345c2962819f2091b0ef32d946f Ref the slplink before destroying the DC, or we might lose our slpcall. diff -r 28f774432954 -r ccae796bdbad libpurple/protocols/msn/directconn.c --- a/libpurple/protocols/msn/directconn.c Mon May 17 08:42:51 2010 +0000 +++ b/libpurple/protocols/msn/directconn.c Mon May 17 08:45:46 2010 +0000 @@ -316,6 +316,7 @@ 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 @@ 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