]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix rescaling of images via 'text-scale-mode' in EWW
authorJim Porter <jporterbugs@gmail.com>
Sun, 23 Jun 2024 23:59:00 +0000 (16:59 -0700)
committerEshel Yaron <me@eshelyaron.com>
Wed, 26 Jun 2024 13:32:27 +0000 (15:32 +0200)
* lisp/net/eww.el (eww--rescale-images): Handle a :scale of 'default'
(bug#71741).

(cherry picked from commit 3abcfe013d809a8194f5158877fd43f11d714fd5)

lisp/net/eww.el

index fd8f80065b1f811769c0031f1aaa4919cbd44091..94bfd333fa95047d775391bbecbd356b63cda6e4 100644 (file)
@@ -1371,12 +1371,16 @@ within text input fields."
       (goto-char (point-min))
       (while-let ((match (text-property-search-forward
                           'display nil (lambda (_ value) (imagep value)))))
-        (let ((image (prop-match-value match)))
-          (unless (image-property image :original-scale)
-            (setf (image-property image :original-scale)
-                  (or (image-property image :scale) 1)))
+        (let* ((image (prop-match-value match))
+               (original-scale (or (image-property image :original-scale)
+                                   (setf (image-property image :original-scale)
+                                         (or (image-property image :scale)
+                                             'default)))))
+          (when (eq original-scale 'default)
+            (setq original-scale (image-compute-scaling-factor
+                                  image-scaling-factor)))
           (setf (image-property image :scale)
-                (* (image-property image :original-scale) scaling)))))))
+                (* original-scale scaling)))))))
 
 (defun eww--url-at-point ()
   "`thing-at-point' provider function."