aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog13
-rw-r--r--mail/e-searching-tokenizer.c11
-rw-r--r--mail/e-searching-tokenizer.h2
-rw-r--r--mail/em-format-html-display.c2
-rw-r--r--mail/em-format-html.c2
5 files changed, 27 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 4c265774ff..7641b3e25b 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,16 @@
+2004-03-05 Jeffrey Stedfast <fejj@ximian.com>
+
+ * em-format-html-display.c (em_format_html_display_search): Don't
+ set our parent window as the efhd, ehfd isn't even a widget.
+
+ Fixes bug #54030
+
+ * em-format-html-display.c (efhd_search_response): Reset the
+ searching tokeniser on Cancel.
+
+ * e-searching-tokenizer.c (e_searching_tokenizer_reset): New
+ function to reset a search tokeniser.
+
2004-03-05 Not Zed <NotZed@Ximian.com>
** See bug #55096.
diff --git a/mail/e-searching-tokenizer.c b/mail/e-searching-tokenizer.c
index 44e88df378..020d4d2fe4 100644
--- a/mail/e-searching-tokenizer.c
+++ b/mail/e-searching-tokenizer.c
@@ -1242,10 +1242,19 @@ e_searching_tokenizer_set_secondary_case_sensitivity (ESearchingTokenizer *st, g
gint
e_searching_tokenizer_match_count (ESearchingTokenizer *st)
{
- g_return_val_if_fail (st && E_IS_SEARCHING_TOKENIZER (st), -1);
+ g_return_val_if_fail (E_IS_SEARCHING_TOKENIZER (st), -1);
if (st->priv->engine)
return st->priv->engine->matchcount;
return 0;
}
+
+void
+e_searching_tokenizer_reset (ESearchingTokenizer *st)
+{
+ if (st->priv->engine) {
+ searcher_free (st->priv->engine);
+ st->priv->engine = NULL;
+ }
+}
diff --git a/mail/e-searching-tokenizer.h b/mail/e-searching-tokenizer.h
index 9cdd3cb3c2..d0546a0557 100644
--- a/mail/e-searching-tokenizer.h
+++ b/mail/e-searching-tokenizer.h
@@ -70,5 +70,7 @@ void e_searching_tokenizer_set_secondary_case_sensitivity (ESearchingTokenizer *
int e_searching_tokenizer_match_count (ESearchingTokenizer *);
+void e_searching_tokenizer_reset (ESearchingTokenizer *);
+
#endif /* __E_SEARCHING_TOKENIZER_H__ */
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c
index fc26251a83..b7b432e72c 100644
--- a/mail/em-format-html-display.c
+++ b/mail/em-format-html-display.c
@@ -457,6 +457,7 @@ efhd_search_response(GtkWidget *w, int button, EMFormatHTMLDisplay *efhd)
g_free(p->search_text);
p->search_text = NULL;
gtk_widget_destroy((GtkWidget *)p->search_dialog);
+ e_searching_tokenizer_reset (efhd->search_tok);
p->search_dialog = NULL;
}
}
@@ -516,7 +517,6 @@ em_format_html_display_search(EMFormatHTMLDisplay *efhd)
g_signal_connect(p->search_entry, "activate", G_CALLBACK(efhd_search_entry_activate), efhd);
g_signal_connect(p->search_case_check, "toggled", G_CALLBACK(efhd_search_case_toggled), efhd);
g_signal_connect(p->search_dialog, "response", G_CALLBACK(efhd_search_response), efhd);
- e_dialog_set_transient_for((GtkWindow *)p->search_dialog, (GtkWidget *)efhd);
gtk_widget_show((GtkWidget *)p->search_dialog);
}
diff --git a/mail/em-format-html.c b/mail/em-format-html.c
index 75ed9ff0ff..19e43c366c 100644
--- a/mail/em-format-html.c
+++ b/mail/em-format-html.c
@@ -1392,7 +1392,7 @@ efh_format_address (GString *out, struct _camel_header_address *a)
case CAMEL_HEADER_ADDRESS_NAME:
if (name && *name) {
char *real, *mailaddr;
-
+
g_string_append_printf (out, "%s &lt;", name);
/* rfc2368 for mailto syntax and url encoding extras */
real = camel_header_encode_phrase(a->name);