aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-display.c
diff options
context:
space:
mode:
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;