Subject: Re: bug#75018: 30.0.93; Dired icon missing in tool-bar

From: "john muhl" <[email-masked]>
Date: Sun, 22 Dec 2024 09:32:23 -0600

On Sun, Dec 22, 2024, at 12:43 AM, Eli Zaretskii wrote:
>> From: john muhl <[email-masked]>
>> Date: Sat, 21 Dec 2024 18:19:57 -0600
>> 
>> The usual Dired icon is missing and instead shows up as a couple
>> of tiny triangles in the normal state and as a very generic file
>> icon on hover. Happens on emacs-30 and master and X11 and PGTK
>> builds. Lucid and Motif builds are unaffected.
>
> Where do the tool-bar icons come from in that build?  They are not
> from the Emacs's etc/images/ directory, AFAICT.

They are the stock GTK icons. On this system they are located in
/usr/share/icons/. The option x-gtk-stock-map is responsible for
the mapping between Emacs' etc/images/* and the system's
icons. The attached patch fixes it here.

> Can you post the Dired icon file from where your build takes them?

Unfortunately I can't find those particular icons among the ~7000
icons in the /usr/share/icons/ directory but they're probably in
there somewhere.

> Also, is this problem new in the last pretest, or did previous
> pretests behave the same?

I tried 30.0.90 and 29.4 and they too are using the incorrect
icons. I suspect upgrading to Fedora 41 is what causes the
issue.
From 8d8f570ca0379e508330f27b7192e8e05b58602d Mon Sep 17 00:00:00 2001
From: john muhl <[email-masked]>
Date: Sun, 22 Dec 2024 09:10:15 -0600
Subject: [PATCH] Fix Dired icon in tool-bar for GTK builds

* lisp/term/pgtk-win.el (x-gtk-stock-map):
* lisp/term/x-win.el (x-gtk-stock-map): Update mapping for gtk-directory
icon.  (Bug#75018)
---
 lisp/term/pgtk-win.el | 2 +-
 lisp/term/x-win.el    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/term/pgtk-win.el b/lisp/term/pgtk-win.el
index 505174048f6..e49c5905ba8 100644
--- a/lisp/term/pgtk-win.el
+++ b/lisp/term/pgtk-win.el
@@ -191,7 +191,7 @@ x-gtk-stock-map
   '(
     ("etc/images/new" . ("document-new" "gtk-new"))
     ("etc/images/open" . ("document-open" "gtk-open"))
-    ("etc/images/diropen" . "gtk-directory")
+    ("etc/images/diropen" . ("system-file-manager" "gtk-directory"))
     ("etc/images/close" . ("window-close" "gtk-close"))
     ("etc/images/save" . ("document-save" "gtk-save"))
     ("etc/images/saveas" . ("document-save-as" "gtk-save-as"))
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index ced2750202b..8b4b869173d 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1380,7 +1380,7 @@ x-gtk-stock-map
   '(
     ("etc/images/new" . ("document-new" "gtk-new"))
     ("etc/images/open" . ("document-open" "gtk-open"))
-    ("etc/images/diropen" . "gtk-directory")
+    ("etc/images/diropen" . ("system-file-manager" "gtk-directory"))
     ("etc/images/close" . ("window-close" "gtk-close"))
     ("etc/images/save" . ("document-save" "gtk-save"))
     ("etc/images/saveas" . ("document-save-as" "gtk-save-as"))
-- 
2.47.1