aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog24
-rw-r--r--mail/folder-browser-ui.c1
-rw-r--r--mail/folder-browser.c2
-rw-r--r--mail/mail-config.c1
-rw-r--r--mail/mail-display.c34
5 files changed, 38 insertions, 24 deletions
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 <fejj@ximian.com>
+2001-11-25 Not Zed <NotZed@Ximian.com>
- * 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 <fejj@ximian.com>
* message-list.c (message_list_select): 'n' shouldn't wrap if 'p'
doesn't.
-2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
-
- * 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 <NotZed@Ximian.com>
+
+ * 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 <fejj@ximian.com>
+
+ * 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 <cyba@gnome.pl>
* 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);