aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-display.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-12-10 22:34:45 +0800
committerDan Winship <danw@src.gnome.org>2001-12-10 22:34:45 +0800
commit7cdf441965e654cc407a245482ee17467fb376e8 (patch)
treebf4c6da991f807d6736c7842de216358af6ecd5b /mail/mail-display.c
parent4e5542ad2842655ab1a8e424d367331311177bcb (diff)
downloadgsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar.gz
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar.bz2
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar.lz
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar.xz
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.tar.zst
gsoc2013-evolution-7cdf441965e654cc407a245482ee17467fb376e8.zip
Don't just assume all of the GtkHTMLEmbedded's fields are filled in, since
* mail-display.c (on_object_requested): Don't just assume all of the GtkHTMLEmbedded's fields are filled in, since HTML messages may have <object>s in them that we're not expecting. * mail-send-recv.c (mail_send_receive): Add a "current_folder" arg. (build_dialogue): Remember the current_folder (free_send_data): If current_folder is set, refresh it so it's guaranteed to be synced with the folder tree. Fixes #14770. * mail-callbacks.c (send_receive_mail): Pass current_folder to mail_send_receive(). svn path=/trunk/; revision=14950
Diffstat (limited to 'mail/mail-display.c')
-rw-r--r--mail/mail-display.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/mail/mail-display.c b/mail/mail-display.c
index 8b4545880a..4746c348aa 100644
--- a/mail/mail-display.c
+++ b/mail/mail-display.c
@@ -952,11 +952,14 @@ on_object_requested (GtkHTML *html, GtkHTMLEmbedded *eb, gpointer data)
GHashTable *urls;
CamelMimePart *part;
+ if (!eb->classid)
+ return FALSE;
+
urls = g_datalist_get_data (md->data, "part_urls");
if (!urls)
return FALSE;
- if (!strncmp (eb->classid, "popup:", 6)) {
+ if (!strncmp (eb->classid, "popup:", 6) && eb->type) {
part = g_hash_table_lookup (urls, eb->classid + 6);
if (!CAMEL_IS_MIME_PART (part))
return FALSE;
@@ -966,7 +969,7 @@ on_object_requested (GtkHTML *html, GtkHTMLEmbedded *eb, gpointer data)
if (!CAMEL_IS_MIME_PART (part))
return FALSE;
return do_signature (html, eb, part, md);
- } else if (!strncmp (eb->classid, "cid:", 4)) {
+ } else if (!strncmp (eb->classid, "cid:", 4) && eb->type) {
part = g_hash_table_lookup (urls, eb->classid);
if (!CAMEL_IS_MIME_PART (part))
return FALSE;