GNU bug report logs -
#38187
27.0.50; No mouse-wheel scaling on images
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Tue, 12 Nov 2019 21:11:02 UTC
Severity: normal
Found in version 27.0.50
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Fri, 22 Nov 2019 10:33:00 +0000
> From: Alan Third <alan <at> idiocy.org>
> Cc: larsi <at> gnus.org, 38187 <at> debbugs.gnu.org, stefan <at> marxist.se,
> juri <at> linkov.net
>
> > > A simple ‘solution’ to the mousewheel scaling issue would be to
> > > explicitly flush the old image from the cache on each change. I think
> > > that’s what image mode does when you zoom.
> >
> > image-mode can do that when it knows the scaled image will replace the
> > previous one, yes. (We will need to add an API for that, I think.)
> > But that's not cache eviction, that's application being smarter about
> > the "garbage" it produces.
>
> Actually, now I look at the code, when an image is resized using the
> mousewheel the previous image should already be flushed.
>
> In image.el we have this function:
>
> (defun image--get-imagemagick-and-warn ()
> (unless (or (fboundp 'imagemagick-types) (image-transforms-p))
> (error "Cannot rescale images on this terminal"))
> (let ((image (image--get-image)))
> (image-flush image) ;;; <<---------------
> (when (and (fboundp 'imagemagick-types)
> (not (image-transforms-p)))
> (plist-put (cdr image) :type 'imagemagick))
> image))
>
> which is called every time an image is resized. So perhaps I
> misunderstand what image-flush does, or we do have a memory leak?
Strange indeed. I suggest to step in a debugger through this and
other relevant code in this scenario, and see what happens there. I'd
be surprised to know that we have a memory leak in this area.
This bug report was last modified 5 years and 237 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.