]> git.eshelyaron.com Git - emacs.git/commitdiff
Make shr-rescale-image respect get-buffer-window again
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 16 May 2019 11:38:11 +0000 (13:38 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 16 May 2019 11:38:11 +0000 (13:38 +0200)
* lisp/net/shr.el (shr-rescale-image): Partially revert previous
change -- ressurrect the check for `get-buffer-window'.

lisp/net/shr.el

index 3ff0c247780f60949c3fce68a782c186a9248b2b..c1e9fdd30d7f957d452604d317ea12fc5e154975 100644 (file)
@@ -1101,36 +1101,38 @@ WIDTH and HEIGHT are the sizes given in the HTML data, if any.
 The size of the displayed image will not exceed
 MAX-WIDTH/MAX-HEIGHT.  If not given, use the current window
 width/height instead."
-  (let* ((edges (window-inside-pixel-edges
-                 (get-buffer-window (current-buffer))))
-         (max-width (truncate (* shr-max-image-proportion
-                                 (or max-width
-                                     (- (nth 2 edges) (nth 0 edges))))))
-         (max-height (truncate (* shr-max-image-proportion
-                                  (or max-height
-                                      (- (nth 3 edges) (nth 1 edges))))))
-         (scaling (image-compute-scaling-factor image-scaling-factor)))
-    (when (or (and width
-                   (> width max-width))
-              (and height
-                   (> height max-height)))
-      (setq width nil
-            height nil))
-    (if (and width height
-             (< (* width scaling) max-width)
-             (< (* height scaling) max-height))
+  (if (not (get-buffer-window (current-buffer)))
+      (create-image data nil t :ascent 100)
+    (let* ((edges (window-inside-pixel-edges
+                   (get-buffer-window (current-buffer))))
+           (max-width (truncate (* shr-max-image-proportion
+                                   (or max-width
+                                       (- (nth 2 edges) (nth 0 edges))))))
+           (max-height (truncate (* shr-max-image-proportion
+                                    (or max-height
+                                        (- (nth 3 edges) (nth 1 edges))))))
+           (scaling (image-compute-scaling-factor image-scaling-factor)))
+      (when (or (and width
+                     (> width max-width))
+                (and height
+                     (> height max-height)))
+        (setq width nil
+              height nil))
+      (if (and width height
+               (< (* width scaling) max-width)
+               (< (* height scaling) max-height))
+          (create-image
+           data nil t
+           :ascent 100
+           :width width
+           :height height
+           :format content-type)
         (create-image
          data nil t
          :ascent 100
-         :width width
-         :height height
-         :format content-type)
-      (create-image
-       data nil t
-       :ascent 100
-       :max-width max-width
-       :max-height max-height
-       :format content-type))))
+         :max-width max-width
+         :max-height max-height
+         :format content-type)))))
 
 ;; url-cache-extract autoloads url-cache.
 (declare-function url-cache-create-filename "url-cache" (url))