# HG changeset patch # User masca@cpw.pidgin.im # Date 1278536697 0 # Node ID e358e16e527f97b0e3e0ba66382f76ff8f6e5551 # Parent 544221aadf6ec4c3f092293e860768853ec63346 Add a ref to the part at sbconn and add some debug output. diff -r 544221aadf6e -r e358e16e527f libpurple/protocols/msn/sbconn.c --- a/libpurple/protocols/msn/sbconn.c Wed Jul 07 21:03:15 2010 +0000 +++ b/libpurple/protocols/msn/sbconn.c Wed Jul 07 21:04:57 2010 +0000 @@ -17,7 +17,7 @@ msn_message_set_header(msg, "P2P-Dest", passport); data = msn_slpmsgpart_serialize(part, &size); - msg->part = part; + msg->part = msn_slpmsgpart_ref(part); msn_message_set_bin_data(msg, data, size); diff -r 544221aadf6e -r e358e16e527f libpurple/protocols/msn/slpmsg_part.c --- a/libpurple/protocols/msn/slpmsg_part.c Wed Jul 07 21:03:15 2010 +0000 +++ b/libpurple/protocols/msn/slpmsg_part.c Wed Jul 07 21:04:57 2010 +0000 @@ -1,4 +1,5 @@ #include "internal.h" +#include "debug.h" #include "slpmsg.h" #include "slpmsg_part.h" @@ -79,6 +80,9 @@ g_return_val_if_fail(part != NULL, NULL); part->ref_count ++; + if (purple_debug_is_verbose()) + purple_debug_info("msn", "part ref (%p)[%" G_GSIZE_FORMAT "]\n", part, part->ref_count); + return part; } @@ -89,6 +93,9 @@ part->ref_count--; + if (purple_debug_is_verbose()) + purple_debug_info("msn", "part unref (%p)[%" G_GSIZE_FORMAT "]\n", part, part->ref_count); + if (part->ref_count == 0) { msn_slpmsgpart_destroy(part);