aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/em-account-editor.c8
2 files changed, 12 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 9d7eddbd8b..419b578155 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-04 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #300881.
+
+ * em-account-editor.c (emae_setup_signatures): don't add the
+ signature listener if we've already added it.
+
2005-08-08 Vivek Jain <jvivek@novell.com>
* em-format.c: (emf_multipart_appledouble):
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 70936abf97..d35255d819 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -684,9 +684,11 @@ emae_setup_signatures(EMAccountEditor *emae, GladeXML *xml)
signatures = mail_config_get_signatures ();
- p->sig_added_id = g_signal_connect(signatures, "signature-added", G_CALLBACK(emae_signature_added), emae);
- p->sig_removed_id = g_signal_connect(signatures, "signature-removed", G_CALLBACK(emae_signature_removed), emae);
- p->sig_changed_id = g_signal_connect(signatures, "signature-changed", G_CALLBACK(emae_signature_changed), emae);
+ if (p->sig_added_id == 0) {
+ p->sig_added_id = g_signal_connect(signatures, "signature-added", G_CALLBACK(emae_signature_added), emae);
+ p->sig_removed_id = g_signal_connect(signatures, "signature-removed", G_CALLBACK(emae_signature_removed), emae);
+ p->sig_changed_id = g_signal_connect(signatures, "signature-changed", G_CALLBACK(emae_signature_changed), emae);
+ }
/* we need to count the 'none' entry before using the index */
i = 1;