changeset 110112:8eb5f382b2e6

gnus-html.el (gnus-html-rescale-image): Yet another try at getting the image sizing right.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 02 Sep 2010 01:46:34 +0000
parents 5b9f64b04a04
children 99544439ab8f
files lisp/gnus/ChangeLog lisp/gnus/gnus-html.el
diffstat 2 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu Sep 02 01:42:32 2010 +0000
+++ b/lisp/gnus/ChangeLog	Thu Sep 02 01:46:34 2010 +0000
@@ -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.
--- a/lisp/gnus/gnus-html.el	Thu Sep 02 01:42:32 2010 +0000
+++ b/lisp/gnus/gnus-html.el	Thu Sep 02 01:46:34 2010 +0000
@@ -274,14 +274,16 @@
 	   (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 @@
 	  (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