diff options
author | Travis Reitter <travis.reitter@collabora.co.uk> | 2013-07-09 08:08:07 +0800 |
---|---|---|
committer | Travis Reitter <travis.reitter@collabora.co.uk> | 2013-07-09 23:42:01 +0800 |
commit | 8991b0bd4316261776e7093aeae3534c68183722 (patch) | |
tree | 8708b3274c9fc2a232f7e31d16479c9ccc7fbde3 | |
parent | 27d365076acf6cd2fffa652043f375273ab815a5 (diff) | |
download | gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar.gz gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar.bz2 gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar.lz gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar.xz gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.tar.zst gsoc2013-empathy-8991b0bd4316261776e7093aeae3534c68183722.zip |
Remove the name of an account once it has been deleted.
This fixes a minor security issue where information about an account (its
name) could be displayed after the point it was deleted. It only lasted
until Empathy was quit. This patch ensures the name is scrubbed from Empathy
immediately.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=701649
-rw-r--r-- | src/empathy-roster-window.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/empathy-roster-window.c b/src/empathy-roster-window.c index 93001d8d4..7c943b43c 100644 --- a/src/empathy-roster-window.c +++ b/src/empathy-roster-window.c @@ -1746,6 +1746,14 @@ account_disabled_cb (TpAccountManager *manager, } static void +account_removed_cb (TpAccountManager *manager, + TpAccount *account, + EmpathyRosterWindow *self) +{ + set_notebook_page (self); +} + +static void account_manager_prepared_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) @@ -1773,6 +1781,8 @@ account_manager_prepared_cb (GObject *source_object, g_signal_connect (manager, "account-validity-changed", G_CALLBACK (roster_window_account_validity_changed_cb), self); + tp_g_signal_connect_object (manager, "account-removed", + G_CALLBACK (account_removed_cb), self, 0); tp_g_signal_connect_object (manager, "account-disabled", G_CALLBACK (account_disabled_cb), self, 0); tp_g_signal_connect_object (manager, "account-enabled", |