summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-util.el21
2 files changed, 13 insertions, 13 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index c79a6d7f219..42327335286 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -14,11 +14,6 @@
* nnimap.el (nnimap-retrieve-headers): Remove CRLF from the headers.
-2010-12-17 Julien Danjou <julien@danjou.info>
-
- * gnus-util.el (gnus-rescale-image): Allow to resize images even if
- they are from file. Can also scale up.
-
2010-12-17 Andrew Cohen <cohen@andy.bu.edu>
* gnus-sum.el (gnus-summary-refer-thread): Simplify code. Restore
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 50292f4ff76..fa4bf076a30 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1983,16 +1983,21 @@ empty directories from OLD-PATH."
"Rescale IMAGE to SIZE if possible.
SIZE is in format (WIDTH . HEIGHT). Return a new image.
Sizes are in pixels."
- (when (fboundp 'imagemagick-types)
+ (if (or (not (fboundp 'imagemagick-types))
+ (not (get-buffer-window (current-buffer))))
+ image
(let ((new-width (car size))
(new-height (cdr size)))
- (unless (= (cdr (image-size image t)) new-height)
- (setcdr image (plist-put (cdr image) :type 'imagemagick))
- (setcdr image (plist-put (cdr image) :height new-height)))
- (unless (= (car (image-size image t)) new-width)
- (setcdr image (plist-put (cdr image) :type 'imagemagick))
- (setcdr image (plist-put (cdr image) :width new-width)))))
- image)
+ (when (> (cdr (image-size image t)) new-height)
+ (setq image (or (create-image (plist-get (cdr image) :data) 'imagemagick t
+ :height new-height)
+ image)))
+ (when (> (car (image-size image t)) new-width)
+ (setq image (or
+ (create-image (plist-get (cdr image) :data) 'imagemagick t
+ :width new-width)
+ image)))
+ image)))
(defun gnus-list-memq-of-list (elements list)
"Return non-nil if any of the members of ELEMENTS are in LIST."