diff options
author | Not Zed <NotZed@Ximian.com> | 2003-03-18 08:13:41 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2003-03-18 08:13:41 +0800 |
commit | 9ecca5f32eebef76c12f0ed6ccb0f2cd0e589816 (patch) | |
tree | bcfebc01c9b91ed73f84ae6ff717fcdd96b6f58e | |
parent | 42508f7a3ba2e050ddec599740a525d62926bace (diff) | |
download | gsoc2013-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
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-search.c | 16 |
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); } |