aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2003-03-18 08:13:41 +0800
committerMichael Zucci <zucchi@src.gnome.org>2003-03-18 08:13:41 +0800
commit9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816 (patch)
treebcfebc01c9b91ed73f84ae6ff717fcdd96b6f58e /mail
parent42508f7a3ba2e050ddec599740a525d62926bace (diff)
downloadgsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar.gz
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar.bz2
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar.lz
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar.xz
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.tar.zst
gsoc2013-evolution-9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816.zip
unhook from the html engine signals here, before we redisplay the message.
2003-03-18 Not Zed <NotZed@Ximian.com> * mail-search.c (mail_search_destroy): unhook from the html engine signals here, before we redisplay the message. Also make sure this processing only happens once. For #39759. (mail_search_finalise): dont unhook from signals here. svn path=/trunk/; revision=20326
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/mail-search.c16
2 files changed, 16 insertions, 7 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 11c8791472..82c62c60b4 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2003-03-18 Not Zed <NotZed@Ximian.com>
+
+ * mail-search.c (mail_search_destroy): unhook from the html engine
+ signals here, before we redisplay the message. Also make sure
+ this processing only happens once. For #39759.
+ (mail_search_finalise): dont unhook from signals here.
+
2003-03-12 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (expunge_folder): use a hack to find out if the
diff --git a/mail/mail-search.c b/mail/mail-search.c
index e206b560e7..f307b1700e 100644
--- a/mail/mail-search.c
+++ b/mail/mail-search.c
@@ -45,10 +45,7 @@ static void
mail_search_finalise (GObject *obj)
{
MailSearch *ms = MAIL_SEARCH (obj);
-
- g_signal_handler_disconnect(ms->mail->html->engine->ht, ms->match_handler);
- g_signal_handler_disconnect(ms->mail->html->engine->ht, ms->begin_handler);
-
+
g_free (ms->last_search);
g_object_unref (ms->mail);
@@ -60,9 +57,14 @@ mail_search_destroy (GtkObject *obj)
{
MailSearch *ms = (MailSearch *) obj;
ESearchingTokenizer *st = mail_search_tokenizer (ms);
-
- e_searching_tokenizer_set_primary_search_string (st, NULL);
- mail_search_redisplay_message (ms);
+
+ if (ms->begin_handler) {
+ g_signal_handler_disconnect(ms->mail->html->engine->ht, ms->match_handler);
+ g_signal_handler_disconnect(ms->mail->html->engine->ht, ms->begin_handler);
+ ms->begin_handler = 0;
+ e_searching_tokenizer_set_primary_search_string (st, NULL);
+ mail_search_redisplay_message (ms);
+ }
GTK_OBJECT_CLASS (parent_class)->destroy (obj);
}