GNOME Bugzilla – Bug 674806
icontheme: search first in all themes if the requested icon is symbolic
Last modified: 2012-04-26 17:52:27 UTC
Make sure symbolic icons, if provided by any parent theme, are privileged over non-symbolic variants. A more lengthy explanation of why I think this is needed is in the commit message and in a comment in the code.
Created attachment 212795 [details] [review] icontheme: search first in all themes if the requested icon is symbolic Symbolic icons use a "-symbolic" suffix to distinguish themselves from highcolor variants. Note that the dash character here has a different meaning than the specificity level defined in the icon-naming-spec [1], as it identifies a property of the icon itself. Since they might be provided by a parent theme (e.g. the HighContrast theme relies on the gnome icon theme for them), when we are looking up one we should first escape the generic icon inheritance mechanism defined in the icon-naming-spec [1], and privilege a symbolic icon, if it exists in a parent theme, before applying the inheritance evaluation. This fixes symbolic icons not working properly when used in the HighContrast theme with the GTK_ICON_LOOKUP_GENERIC_FALLBACK flag set. [1] http://standards.freedesktop.org/icon-naming-spec/latest/ar01s03.html
Created attachment 212799 [details] [review] icontheme: search first in all themes if the requested icon is symbolic -- Removed an unwanted whitespace change
Review of attachment 212799 [details] [review]: I don't love that this makes the icon theme logic even more hairy, but I guess we have to do this.
Attachment 212799 [details] pushed as 271adac - icontheme: search first in all themes if the requested icon is symbolic Thanks for the review, pushed to master