diff -r 7ffe330ea8ea -r edbea75bd68f pidgin/gtkxfer.c --- a/pidgin/gtkxfer.c Mon Mar 31 07:25:15 2014 +0530 +++ b/pidgin/gtkxfer.c Mon Mar 31 14:39:14 2014 +0530 @@ -37,6 +37,8 @@ struct _PidginXferDialog { + gint box_count; + gboolean keep_open; gboolean auto_clear; @@ -1077,6 +1079,43 @@ } /************************************************************************** + * PidginXferDialog GBoxed code + **************************************************************************/ +static PidginXferDialog * +pidgin_xfer_dialog_ref(PidginXferDialog *dialog) +{ + g_return_val_if_fail(dialog != NULL, NULL); + + dialog->box_count++; + + return dialog; +} + +static void +pidgin_xfer_dialog_unref(PidginXferDialog *dialog) +{ + g_return_if_fail(dialog != NULL); + g_return_if_fail(dialog->box_count >= 0); + + if (!dialog->box_count--) + pidgin_xfer_dialog_destroy(dialog); +} + +GType +pidgin_xfer_dialog_get_type(void) +{ + static GType type = 0; + + if (type == 0) { + type = g_boxed_type_register_static("PidginXferDialog", + (GBoxedCopyFunc)pidgin_xfer_dialog_ref, + (GBoxedFreeFunc)pidgin_xfer_dialog_unref); + } + + return type; +} + +/************************************************************************** * File Transfer UI Ops **************************************************************************/ static void