symbolic icon fallback failure



Originally I thought that the lack of icons on my system in the post
stock-icons age was because symbolic icons are SVGs:

  https://mail.gnome.org/archives/gtk-list/2013-November/msg00015.html

(The request for documentation still stands.)

It seems that the problem is somewhat different:

1) scalable gnome icons (e.g. symbolic svg icons) are not searched for.
2) the claim "If a -symbolic icon is missing, the app will fall back to the
   regular name." seems to be false.

In reverse order, 2) looked as though it should be fixed by commit d25ee710
  https://bugzilla.gnome.org/show_bug.cgi?id=708163
which was did appear in 3.10.2 despite the last comment in that bug.
It seems that fallback is still broken.

1) seems odd: when running e.g. evince --gtk-debug=icontheme (3.10.3), a
gtk 3.10.3 system with gnome-icon-theme-symbolic 3.8.3, and gsetting:
   org.gnome.desktop.interface icon-theme 'gnome'
shows caches found in icons/hicolor and icons/gnome

(gtk-update-icon-cache --validate returns 0 for those two directories
 so validates OK.
 Is there an easy way of dumping the contents of the cache?)

Evince then looks for dialog-password in

"" <-? builtins?
icons/hicolor/..x..      (why hicolor when gsettings says icon-theme=gnome?)
evince/icons/..x..
icons/hicolor/scalable
evince/icon/scalable
theme_lookup_icon found dialog-password in dir (null)
? builtin - it apparently didn't look in icons/gnome/..x.. which is where the
            PNGs live.

Next is go-up-symbolic, which won't be found, and which lives in
icons/gnome/scalable/actions

It is looked for in
""
icons/hicolor/..x..
evince/icons/..x..
icons/hicolor/scalable
evince/icon/scalable
(as before, and in addition)
icons/hicolor/..x..  (again, interleaved with icons/gnome)
icons/gnome/..x..    (because of commit 90dee25e in 3.10.3?)
""
icons/hicolor/..x..  (again, with evince/icons/hicolor)
gtk_icon_theme_lookup_icon image-missing

so icons/gnome/scalable is not searched, and fallback non-symbolic
"go-up" is also not searched for.


Can you shed light on what is meant to happen?

Cheers,

Patrick


BTW gtkicontheme.c:1658 choose_icon() seems odd: the first block
checks for a -symbolic suffix, but appears to do the same as the
second block. Was that intentional?

Attached is a patch to 3.10.3 I used to spew more debugging output.

Attachment: patch-gtk_gtkicontheme.c
Description: Text document



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]