diff options
Diffstat (limited to 'src/empathy-accounts-dialog.c')
-rw-r--r-- | src/empathy-accounts-dialog.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c index 014b73611..460ea9023 100644 --- a/src/empathy-accounts-dialog.c +++ b/src/empathy-accounts-dialog.c @@ -1705,6 +1705,9 @@ do_constructor (GType type, dialog_singleton = EMPATHY_ACCOUNTS_DIALOG (retval); g_object_add_weak_pointer (retval, (gpointer) &dialog_singleton); + /* We add an extra reference that we'll release when the dialog is + * destroyed (accounts_dialog_destroy_cb) */ + g_object_ref (retval); } return retval; @@ -1840,6 +1843,9 @@ empathy_accounts_dialog_show (GtkWindow *parent, } gtk_window_present (GTK_WINDOW (priv->window)); + /* EmpathyAccountsDialog kepts a ref on itself until the dialog is + * destroyed so we can release the ref returned by the constructor now. */ + g_object_unref (dialog); return priv->window; } |