From ba58d14fae68c551073dd4bc97179551eeecd098 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Tue, 27 Nov 2001 21:41:18 +0000 Subject: merged from evoution-1-0-branch 2001-11-25 Not Zed * mail-config.c (config_read): Enable news accounts that exist always, since no gui for it. 2001-11-20 Jeffrey Stedfast * message-list.c (message_list_select): 'n' shouldn't wrap if 'p' doesn't. * mail-format.c (format_mime_part): Make sure the mime-type is non-NULL before passing it off to mail_lookup_handler(). 2001-11-20 Not Zed * folder-browser-ui.c: Disable search if no message loaded/viewed. Also for #14348. * folder-browser.c: Disable "Add sender to addressbook" if we dont have a message loaded (it wont work). For #14348. 2001-11-20 Jeffrey Stedfast * mail-display.c (load_content_loaded): Make sure the mail-display object is still "alive" before accessing any of it's data. svn path=/trunk/; revision=14796 --- mail/ChangeLog | 24 ++++++++++++++++-------- mail/folder-browser-ui.c | 1 + mail/folder-browser.c | 2 +- mail/mail-config.c | 1 + mail/mail-display.c | 34 +++++++++++++++++++--------------- 5 files changed, 38 insertions(+), 24 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index dfeab5ab91..175335b623 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,21 +1,29 @@ -2001-11-21 Jeffrey Stedfast +2001-11-25 Not Zed - * message-list.c: Reverted my hide_save_state patch. + * mail-config.c (config_read): Enable news accounts that exist + always, since no gui for it. 2001-11-20 Jeffrey Stedfast * message-list.c (message_list_select): 'n' shouldn't wrap if 'p' doesn't. -2001-11-16 Jeffrey Stedfast - - * message-list.c (message_list_hide_clear): Save hide state. - (message_list_hide_uids): Save hide state. - (message_list_hide_add): Save hide state. - * mail-format.c (format_mime_part): Make sure the mime-type is non-NULL before passing it off to mail_lookup_handler(). +2001-11-20 Not Zed + + * folder-browser-ui.c: Disable search if no message + loaded/viewed. Also for #14348. + + * folder-browser.c: Disable "Add sender to addressbook" if we dont + have a message loaded (it wont work). For #14348. + +2001-11-20 Jeffrey Stedfast + + * mail-display.c (load_content_loaded): Make sure the mail-display + object is still "alive" before accessing any of it's data. + 2001-11-14 Zbigniew Chyla * mail-autofilter.c (rule_match_recipients, rule_from_message, diff --git a/mail/folder-browser-ui.c b/mail/folder-browser-ui.c index 4e673cb493..4873eb51a6 100644 --- a/mail/folder-browser-ui.c +++ b/mail/folder-browser-ui.c @@ -521,6 +521,7 @@ static const char *message_pane_enables[] = { * selected. */ "PrintMessage", "PrintPreviewMessage", "ViewFullHeaders", "ViewLoadImages", "ViewNormal", "ViewSource", + "MessageSearch", NULL }; diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 85e1bcd4fb..ddcc305fe6 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -1470,7 +1470,7 @@ static EPopupMenu context_menu[] = { E_POPUP_SEPARATOR, - { N_("Add Sender to Address Book"), NULL, GTK_SIGNAL_FUNC (addrbook_sender), NULL, 0 }, + { N_("Add Sender to Address Book"), NULL, GTK_SIGNAL_FUNC (addrbook_sender), NULL, SELECTION_SET }, { "", NULL, GTK_SIGNAL_FUNC (NULL), NULL, 0 }, { N_("Apply Filters"), NULL, GTK_SIGNAL_FUNC (apply_filters), NULL, 0 }, diff --git a/mail/mail-config.c b/mail/mail-config.c index f7ca05d548..40be7662f0 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -504,6 +504,7 @@ config_read (void) if ((r = bonobo_config_get_string (config->db, path, NULL))) { n = g_new0 (MailConfigService, 1); n->url = r; + n->enabled = TRUE; config->news = g_slist_append (config->news, n); } diff --git a/mail/mail-display.c b/mail/mail-display.c index 552f4db3ca..47709c1897 100644 --- a/mail/mail-display.c +++ b/mail/mail-display.c @@ -1116,7 +1116,7 @@ on_url_requested (GtkHTML *html, const char *url, GtkHTMLStream *handle, struct _load_content_msg { struct _mail_msg msg; - + MailDisplay *display; GtkHTMLStream *handle; @@ -1146,10 +1146,10 @@ try_part_urls (struct _load_content_msg *m) { GHashTable *urls; CamelMedium *medium; - + urls = g_datalist_get_data (m->display->data, "part_urls"); g_return_val_if_fail (urls != NULL, FALSE); - + /* See if it refers to a MIME part (cid: or http:) */ medium = g_hash_table_lookup (urls, m->url); if (medium) { @@ -1167,11 +1167,11 @@ try_part_urls (struct _load_content_msg *m) html_stream = mail_stream_gtkhtml_new (m->display->html, m->handle); camel_data_wrapper_write_to_stream (data, html_stream); camel_object_unref (CAMEL_OBJECT (html_stream)); - + gtk_html_end (m->display->html, m->handle, GTK_HTML_STREAM_OK); return TRUE; } - + return FALSE; } @@ -1180,10 +1180,10 @@ try_data_urls (struct _load_content_msg *m) { GHashTable *urls; GByteArray *ba; - + urls = g_datalist_get_data (m->display->data, "data_urls"); ba = g_hash_table_lookup (urls, m->url); - + printf ("url: %s data: %p len: %d\n", m->url, ba, ba ? ba->len : -1); if (ba) { if (ba->len) { @@ -1193,7 +1193,7 @@ try_data_urls (struct _load_content_msg *m) gtk_html_end (m->display->html, m->handle, GTK_HTML_STREAM_OK); return TRUE; } - + return FALSE; } @@ -1201,7 +1201,10 @@ static void load_content_loaded (struct _mail_msg *mm) { struct _load_content_msg *m = (struct _load_content_msg *)mm; - + + if (GTK_OBJECT_DESTROYED (m->display)) + return; + if (m->display->current_message == m->message) { if (m->handle) { printf ("handle: %p orig: %d actual: %d\n", m->handle, @@ -1220,7 +1223,7 @@ static void load_content_free (struct _mail_msg *mm) { struct _load_content_msg *m = (struct _load_content_msg *)mm; - + g_free (m->url); gtk_object_unref (GTK_OBJECT (m->display)); camel_object_unref (CAMEL_OBJECT (m->message)); @@ -1243,7 +1246,7 @@ stream_write_or_redisplay_when_loaded (MailDisplay *md, { struct _load_content_msg *m; GHashTable *loading; - + loading = g_datalist_get_data (md->data, "loading"); if (loading) { if (g_hash_table_lookup (loading, key)) @@ -1254,18 +1257,18 @@ stream_write_or_redisplay_when_loaded (MailDisplay *md, (GDestroyNotify)g_hash_table_destroy); } g_hash_table_insert (loading, (gpointer)key, GINT_TO_POINTER (1)); - + m = mail_msg_new (&load_content_op, NULL, sizeof (*m)); m->display = md; + gtk_object_ref (GTK_OBJECT (m->display)); m->handle = handle; m->url = g_strdup (url); m->redisplay_counter = md->redisplay_counter; - gtk_object_ref (GTK_OBJECT (m->display)); m->message = md->current_message; camel_object_ref (CAMEL_OBJECT (m->message)); m->callback = callback; m->data = data; - + e_thread_put (mail_thread_queued, (EMsg *)m); return; } @@ -1469,7 +1472,8 @@ mail_display_destroy (GtkObject *object) g_datalist_clear (mail_display->data); g_free (mail_display->data); - + mail_display->data = NULL; + if (mail_display->idle_id) gtk_timeout_remove(mail_display->idle_id); -- cgit v1.2.3