aboutsummaryrefslogtreecommitdiffstats
path: root/src/cc-empathy-accounts-page.c
diff options
context:
space:
mode:
authorTravis Reitter <treitter@gmail.com>2010-03-03 02:57:36 +0800
committerTravis Reitter <treitter@gmail.com>2010-03-03 02:57:36 +0800
commit36ea10ea3a0bdbd6300bea47cedeab4cc08751a2 (patch)
treefcaabae67f2adf8716b172e599e54c07c1b9d7b2 /src/cc-empathy-accounts-page.c
parent56974492dc44aaa3b993e30b7338b58ab723afd3 (diff)
parent52d67df161e27a893bc24a13a50d86bf251f5ad9 (diff)
downloadgsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar.gz
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar.bz2
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar.lz
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar.xz
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.tar.zst
gsoc2013-empathy-36ea10ea3a0bdbd6300bea47cedeab4cc08751a2.zip
Merge branch 'more-accounts-fixes'
Diffstat (limited to 'src/cc-empathy-accounts-page.c')
-rw-r--r--src/cc-empathy-accounts-page.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/cc-empathy-accounts-page.c b/src/cc-empathy-accounts-page.c
index bf4d46af7..ef9b17557 100644
--- a/src/cc-empathy-accounts-page.c
+++ b/src/cc-empathy-accounts-page.c
@@ -54,20 +54,24 @@ page_pack_with_accounts_dialog (CcEmpathyAccountsPage *page)
GtkWidget *content;
GtkWidget *action_area;
- if (!page->priv->accounts_window)
+ if (page->priv->accounts_window != NULL)
{
- page->priv->accounts_window = empathy_accounts_dialog_show (NULL, NULL);
- gtk_widget_hide (page->priv->accounts_window);
+ gtk_widget_destroy (page->priv->accounts_window);
+ gtk_container_remove (GTK_CONTAINER (page),
+ gtk_bin_get_child (GTK_BIN (page)));
+ }
- content = gtk_dialog_get_content_area (
- GTK_DIALOG (page->priv->accounts_window));
- action_area = gtk_dialog_get_action_area (
- GTK_DIALOG (page->priv->accounts_window));
- gtk_widget_set_no_show_all (action_area, TRUE);
- gtk_widget_hide (action_area);
+ page->priv->accounts_window = empathy_accounts_dialog_show (NULL, NULL);
+ gtk_widget_hide (page->priv->accounts_window);
- gtk_widget_reparent (content, GTK_WIDGET (page));
- }
+ content = gtk_dialog_get_content_area (
+ GTK_DIALOG (page->priv->accounts_window));
+ action_area = gtk_dialog_get_action_area (
+ GTK_DIALOG (page->priv->accounts_window));
+ gtk_widget_set_no_show_all (action_area, TRUE);
+ gtk_widget_hide (action_area);
+
+ gtk_widget_reparent (content, GTK_WIDGET (page));
}
static void