diff options
Diffstat (limited to 'src/empathy-account-assistant.c')
-rw-r--r-- | src/empathy-account-assistant.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c index ca4881fd3..d9834f38b 100644 --- a/src/empathy-account-assistant.c +++ b/src/empathy-account-assistant.c @@ -930,8 +930,20 @@ empathy_account_assistant_init (EmpathyAccountAssistant *self) } GtkWidget * -empathy_account_assistant_new (GtkWindow *window) +empathy_account_assistant_show (GtkWindow *window) { - return g_object_new (EMPATHY_TYPE_ACCOUNT_ASSISTANT, "parent-window", - window, NULL); + static GtkWidget *dialog = NULL; + + if (dialog == NULL) + { + dialog = g_object_new (EMPATHY_TYPE_ACCOUNT_ASSISTANT, "parent-window", + window, NULL); + g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &dialog); + } + + gtk_window_present (GTK_WINDOW (dialog)); + + return dialog; } + + |