Yet another try at getting the image sizing right.
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Wed, 1 Sep 2010 22:43:27 +0000 (00:43 +0200)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Wed, 1 Sep 2010 22:43:27 +0000 (00:43 +0200)
lisp/ChangeLog
lisp/gnus-html.el

index 84c71c3..b684022 100644 (file)
@@ -3,6 +3,8 @@
        * gnus-html.el (gnus-html-wash-tags): Don't show images that are really
        small. They're probably tracking images.
        (gnus-html-wash-tags): Remove all <pre_int> place holders.
+       (gnus-html-rescale-image): Yet another try at getting the image sizing
+       right.
 
        * nntp.el (nntp-request-set-mark): Refuse to do marks if
        nntp-marks-file-name is nil.
@@ -15,7 +17,7 @@
 
 2010-09-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
-       * nndoc.el (nndoc-type-alist): Added a new type for Google digests. 
+       * nndoc.el (nndoc-type-alist): Added a new type for Google digests.
 
        * gnus-html.el (gnus-html-wash-tags): Check the value of
        gnus-blocked-images in the summary buffer.
index 6824fbf..7e13a0b 100644 (file)
@@ -274,14 +274,16 @@ fit these criteria."
           (window-height (truncate (* gnus-max-image-proportion
                                       (- (nth 3 edges) (nth 1 edges)))))
           scaled-image)
-      (or
-       (cond ((> height window-height)
-             (create-image file 'imagemagick nil
-                           :height window-height))
-            ((> width window-width)
-             (create-image file 'imagemagick nil
-                           :width window-width)))
-       image))))
+      (when (> height window-height)
+       (setq image (or (create-image file 'imagemagick nil
+                                     :height window-height)
+                       image))
+       (when (> (car (image-size image t)) window-width)
+         (setq image (or
+                      (create-image file 'imagemagick nil
+                                    :width window-width)
+                      image))))
+      image)))
 
 (defun gnus-html-prune-cache ()
   (let ((total-size 0)
@@ -301,7 +303,6 @@ fit these criteria."
          (decf total-size (cadr file))
          (delete-file (nth 2 file)))))))
 
-
 (defun gnus-html-image-url-blocked-p (url blocked-images)
 "Find out if URL is blocked by BLOCKED-IMAGES."
   (let ((ret (and blocked-images