GNOME Bugzilla – Bug 323634
missing icons in open/save dialogs
Last modified: 2006-08-20 17:56:40 UTC
When trying to open a file in bluefish, the dialog isn't showing directory and file icons. Compare bluefish and abiword screenshots: http://img224.imageshack.us/my.php?image=bluefish0ca.png http://img224.imageshack.us/my.php?image=abiword4se.png Other information:
I can't reproduce this behavior. Bluefish is using the stock GTK filechooser dialog, so the behavior you are seeing is strange. I can't think of any code in Bluefish that would cause this behavior. What Linux distribution, version of GTK and GNOME are you using?
In fact i don't use gnome but i just installed 2.12 to test it and in gnome it looks fine (with icons) but in fluxbox, kde, e17... no icons. Other gtk programs like abiword gimp or vlc player show icons normally in every WM/DE. There must be something. Could you try running bluefish in some other WM to confirm? BF 1.0.4, distro arch linux, gcc 4.0.2, gtk 2.8.8, gnome 2.12
OK, I tested with Ubuntu 5.10, GTK 2.8.6, Fluxbox 0.9.12. I can reproduce the problem with this setup. I need to try testing with GTK 2.6.10 when I get a chance. The problem is Bluefish is creating the filechooser dialog with gtk_file_chooser_new_with_backend(). If I change this to gtk_file_chooser_new() and let GTK select the backend to use then the icons are correctly displayed. Still trying to determine why this behavior exists. I can still access remote files without using the *_with_backend() function to specifiy the use of GnomeVFS. Still need to do some more testing.
The reported issue is not a bug. I made some strace-logs and it's a theme issue. I've tested my GNOME and found, that it tries to find (/usr/share/icons/ + varoious other paths)gnome/index.theme. Then I tested my XFCE4 and found, that it tries to find (/usr/share/icons/ + varoious other paths)GNOME/index.theme. Because this directory does not exist, it falls back to the standard icon theme for XFCE. After changing the icon theme, I got the icons too. Here the related diff between the strace-logs: [..] -stat64("/home/dl/.bluefish/menudump_2", 0xbff3e59c) = -1 ENOENT (No such file or directory) +stat64("/home/dl/.bluefish/menudump_2", 0xbfc570dc) = -1 ENOENT (No such file or directory) write(1, "gui_show_main, before show\n", 27) = 27 -stat64("/home/dl/.icons/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.local/share/icons/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/icons/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/share/icons/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/pixmaps/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/share/pixmaps/GNOME", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.icons/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.local/share/icons/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/icons/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/share/icons/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/pixmaps/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/share/pixmaps/GNOME/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.icons/hicolor", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.local/share/icons/hicolor", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/icons/hicolor", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 -stat64("/usr/local/share/pixmaps/hicolor", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/usr/share/pixmaps/hicolor", 0xbff3b834) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.icons/hicolor/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/home/dl/.local/share/icons/hicolor/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/local/share/icons/hicolor/index.theme", 0xbff3b72c) = -1 ENOENT (No such file or directory) -stat64("/usr/share/icons/hicolor/index.theme", {st_mode=S_IFREG|0644, st_size=9763, ...}) = 0 -open("/usr/share/icons/hicolor/index.theme", O_RDONLY|O_LARGEFILE) = 14 -fstat64(14, {st_mode=S_IFREG|0644, st_size=9763, ...}) = 0 -read(14, "[Icon Theme]\nName=Hicolor\nCommen"..., 4096) = 4096 -read(14, "e=96\nContext=Actions\nType=Thresh"..., 4096) = 4096 -read(14, "6/stock/net]\nSize=36\nContext=Sto"..., 4096) = 1571 -read(14, "", 4096) = 0 -close(14) = 0 -brk(0x8407000) = 0x8407000 -brk(0x8406000) = 0x8406000 +stat64("/home/dl/.icons/gnome", 0xbfc54374) = -1 ENOENT (No such file or directory) +stat64("/home/dl/.local/share/icons/gnome", 0xbfc54374) = -1 ENOENT (No such file or directory) +stat64("/usr/local/share/icons/gnome", 0xbfc54374) = -1 ENOENT (No such file or directory) +stat64("/usr/share/icons/gnome", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 +stat64("/usr/local/share/pixmaps/gnome", 0xbfc54374) = -1 ENOENT (No such file or directory) +stat64("/usr/share/pixmaps/gnome", 0xbfc54374) = -1 ENOENT (No such file or directory) +stat64("/home/dl/.icons/gnome/index.theme", 0xbfc5426c) = -1 ENOENT (No such file or directory) +stat64("/home/dl/.local/share/icons/gnome/index.theme", 0xbfc5426c) = -1 ENOENT (No such file or directory) +stat64("/usr/local/share/icons/gnome/index.theme", 0xbfc5426c) = -1 ENOENT (No such file or directory) +stat64("/usr/share/icons/gnome/index.theme", {st_mode=S_IFREG|0644, st_size=10458, ...}) = 0 +open("/usr/share/icons/gnome/index.theme", O_RDONLY|O_LARGEFILE) = 15 +fstat64(15, {st_mode=S_IFREG|0644, st_size=10458, ...}) = 0 +read(15, "[Icon Theme]\nName=GNOME\nName[ar]"..., 4096) = 4096 +read(15, "48x48/stock/net,36x36/apps,36x36"..., 4096) = 4096 [..] If I could trust the logs, the problem is caused somewhere at gui_new_window() between gui_create_main() and gui_show_main(). But it does not mean, that the bug is caused by Bluefish. I guess, there is a typo bug in a library. I guess it could be a problem in libgnomeui (maybe in file-chooser/gtkfilesystemgnomevfs.c), but I'm not sure. Still doing some research.
I could be wrong. It looks like, the problem is caused somewhere after gui_show_main() in main() bluefish.c. Maybe we should map this bug-report to the GTK guys. I really don't think, it's a bluefish bug.
Well, maybe it is really a bug in GTK and not in bf, I couldn't have know it. If you are persuaded of it, could you then please report it upstream and then link me to the report? Thanks.
Works for me now.
I am experiencing the same problem with GIMP and Firefox. Only the mandrake custom icons appear, the rest is blank space. I tried compiling the latest glib and gtk but the problem persists. In gnome-theme-manager the icon preview shows fine, and the icons work in a GNOME session (I use KDE).
Try this snapshot. I added a possible fix to CVS after the 1.0.5 release. It works for me, but has not been tested very much. http://linuxexperience.net/bluefish/snapshots/bluefish-1.0.5+cvs060629.tar.bz2
I filed a bug against GTK2 in Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=348680. Maybe I should contact Sebastian Bacher (he is AFAIKupstream author too) again.