Protect against invalid images.
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Sun, 29 Aug 2010 13:44:31 +0000 (15:44 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Sun, 29 Aug 2010 13:44:31 +0000 (15:44 +0200)
lisp/gnus-html.el

index 0d30a1b..976da85 100644 (file)
@@ -84,8 +84,7 @@
            (let ((file (gnus-html-image-id parameters)))
              (if (file-exists-p file)
                  ;; It's already cached, so just insert it.
-                 (progn
-                   (put-image (create-image file) (point))
+                 (when (gnus-html-put-image file (point))
                    ;; Delete the ALT text.
                    (delete-region start end))
                ;; We don't have it, so schedule it for fetching
        (save-excursion
          (set-buffer buffer)
          (let ((buffer-read-only nil))
-           (delete-region (cadr spec) (caddr spec))
-           (put-image (create-image file) (cadr spec)))))
+           (when (gnus-html-put-image file (cadr spec))
+             (delete-region (cadr spec) (caddr spec))))))
       (when images
        (gnus-html-schedule-image-fetching buffer images)))))
 
+(defun gnus-html-put-image (file point)
+  (let ((image (ignore-errors
+                (create-image file))))
+    (when image
+      (put-image image point)
+      t)))
+
 (defun gnus-html-prune-cache ()
   (let ((total-size 0)
        files)