aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Laban <david.laban@collabora.co.uk>2010-04-14 22:57:54 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-04-15 16:21:22 +0800
commit8e97af466c5385b3fe0f8a16195fe9cdcca2af8c (patch)
tree02bc3219ed04e6d56fcf0fac9d790838aa41ade0
parent88ba99c8a14c666106c097a4dd8cd227f07b54cc (diff)
downloadgsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar.gz
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar.bz2
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar.lz
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar.xz
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.tar.zst
gsoc2013-empathy-8e97af466c5385b3fe0f8a16195fe9cdcca2af8c.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.
-rw-r--r--src/empathy-account-assistant.c4
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;
}
}