Subject: bug#61974: 29.0.60; customize checkbox and radio widgets don't render on macOS

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Mar 2023 08:25:22 +0200

> Date: Sat, 4 Mar 2023 17:35:16 -0800
> From: David Caldwell <[email-masked]>
> 
> Fails:
> 
>    (insert-image (find-image '((:file "checked.svg"))))
> 
> Works:
> 
>    (insert-image (find-image '((:file "splash.svg"))))
> 
> It appears to be because the checkbox and radio svgs in etc/images all
> use height="1em" and the mac native renderer doesn't like that.
> 
> It works with rsvg because the emacs code that interfaces with rsvg code
> passes some extra styling info to it so that it can render that properly
> (image.c:11226 in the emacs-29 branch for me today).
> 
> Unfortunately the native renderer in nsimage.m doesn't do this. I spent
> some time today trying to figure it out, but it appears that the cocoa
> apis just don't have this feature, so it would have to be done some
> other way.
> 
> I can confirm this is the issue by opening "etc/images/checked.svg",
> hitting "C-c C-c" to edit, changing the "1em" to "16" and "C-c C-c"ing
> again to re-render it. It will appear with a non-percentage height.

Does it work to use the checked.xpm image instead?  If it does,
perhaps we should switch the macOS build to using the XPM images
(assuming the problem you report is common to all macOS builds, that
is).