The problem seems to be caused by the gettext support for .desktop files
(01_gettext-desktopfiles.patch in glib2.0). More detailed, in source
package gnome-menus in desktop-entries.c (function
desktop_entry_load()), the function g_key_file_get_locale_string() from
glib2.0 is used to get the icon name from
/usr/share/applications/seahorse.desktop . In German locale, the gettext
patch then causes that function to translate the icon name "seahorse" to
"Seahorse", which is then not found as icon...

A workaround is to remove or disable the X-Ubuntu-Gettext-Domain line in 
seahorse.desktop.
A better solution might be to modify gnome-menus to use g_key_file_get_string() 
to get the icon name as untranslated string. This has the drawback that desktop 
file lines like "Icon[de]=seahorse-german" (to get a locale-specific icon) 
would not work anymore (is this actually used somewhere?). Also, the Desktop 
Entry Spec states that the Icon value is a "localestring", so 
g_key_file_get_locale_string() is actually the correct function to use...
The "Right Way" might be to add a flag to g_key_file_get_locale_string() so it 
loads the icon name as described in its documentation but without translating 
it with gettext... Not sure if this is possible, though, with regard to 
compatibility.

-- 
panel menu entry doesn't show correct icon
https://bugs.launchpad.net/bugs/197763
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to