diff options
author | David Laban <david.laban@collabora.co.uk> | 2010-04-14 22:57:54 +0800 |
---|---|---|
committer | David Laban <david.laban@collabora.co.uk> | 2010-04-14 22:58:16 +0800 |
commit | a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c (patch) | |
tree | 0f8ddae568ad7b472ce58a711f68409488611fae /src/empathy-account-assistant.c | |
parent | a5874f2717a5bf55bdc0a0831dd992cb59e4738d (diff) | |
download | gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar.gz gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar.bz2 gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar.lz gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar.xz gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.tar.zst gsoc2013-empathy-a82dcc2fc27ff9e069c7046c3eaba8768aa6b06c.zip |
account-assistant: make impl_signal_apply() behave more like impl_signal_prepare()
Fixes b.g.o#615734
current_page only seems to be == PAGE_ENTER_CREATE the first time you visit the page.
After that, it has been seen to be 4 or larger. impl_signal_prepare() currently checks
for >=, so I'm copying that, and also dealing with refs in the same way.
This patch probably probably actually hides a bug in how current_page is set, because
I can't see how it should be set >= 4 because the enum only goes up to 3. I'll look into
that now, but the patch is tested and works.
Diffstat (limited to 'src/empathy-account-assistant.c')
-rw-r--r-- | src/empathy-account-assistant.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c index f516692b9..9cfea5ab5 100644 --- a/src/empathy-account-assistant.c +++ b/src/empathy-account-assistant.c @@ -901,11 +901,13 @@ impl_signal_apply (GtkAssistant *assistant) FALSE); return; } - else if (current_page == PAGE_ENTER_CREATE && + else if (current_page >= PAGE_ENTER_CREATE && priv->settings != NULL && empathy_account_settings_is_valid (priv->settings)) { account_assistant_apply_account_and_finish (self, priv->settings, TRUE); + g_object_unref (priv->settings); + priv->settings = NULL; } } |