aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravis Reitter <travis.reitter@collabora.co.uk>2013-07-09 08:08:07 +0800
committerTravis Reitter <travis.reitter@collabora.co.uk>2013-07-09 23:42:01 +0800
commit8991b0bd4316261776e7093aeae3534c68183722 (patch)
tree8708b3274c9fc2a232f7e31d16479c9ccc7fbde3
parent27d365076acf6cd2fffa652043f375273ab815a5 (diff)
downloadgsoc2013-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.c10
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",