After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 629878 - Missing "Back" and "Forward" icons for Firefox
Missing "Back" and "Forward" icons for Firefox
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: [obsolete] stock-icons
2.22.x
Other All
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
: 631184 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-16 21:15 UTC by Bernd Eggink
Modified: 2012-07-21 10:55 UTC
See Also:
GNOME target: 2.32.x
GNOME version: ---


Attachments
Use the correct icon name for the 'missing' icon (512 bytes, patch)
2011-05-22 18:04 UTC, Erik van Pienbroek
none Details | Review

Description Bernd Eggink 2010-09-16 21:15:27 UTC
After updating from 2.21.7 to 2.21.8 I get these messages when starting Firefox:

----------------------------------------------------------------------
(firefox-bin:4965): Gtk-WARNING **: Error loading theme icon 'gtk-go-back-ltr' for stock: Icon 'gtk-go-back-ltr' not present in theme

(firefox-bin:4965): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(firefox-bin:4965): Gtk-CRITICAL **: gtk_default_render_icon: assertion `base_pixbuf != NULL' failed

(firefox-bin:4965): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(firefox-bin:4965): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
----------------------------------------------------------------------

And similar for 'gtk-go-forward-ltr'.
Comment 1 André Klapper 2010-09-28 18:33:02 UTC
Which Firefox version is this about? If it worked in 2.21.7, did you use the same firefox version?
Comment 2 Bernd Eggink 2010-09-29 08:47:53 UTC
Firefox 3.6.10 in both cases. "Back" and "Forward" icons are missing in 2.21.8.
Comment 3 Frédéric L. W. Meunier 2010-09-29 20:19:00 UTC
I have the same problem after upgrading to GTK+ 2.22.0. I tested Firefox 3.6.10 using the binary distribution and one self compiled using GTK+ 2.20.1.
Comment 4 Frédéric L. W. Meunier 2010-09-29 20:30:03 UTC
I think the following commit broke it:

http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-22&id=5c74a696d5c1593be0f6b801cb85a4baf1087883
Comment 5 Matthias Clasen 2010-10-01 14:45:46 UTC
The important thing to know would be what firefox is doing to cause this.
Comment 6 Frédéric L. W. Meunier 2010-10-01 16:04:26 UTC
Does the following explain why ? It's the default theme on Linux. If I download another theme, it works.

$ grep -r gtk-go-forward-ltr *
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu&state=disabled");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu") !important;
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu&state=disabled");
browser/themes/gnomestripe/browser/places/organizer.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
browser/themes/gnomestripe/browser/places/organizer.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
toolkit/themes/gnomestripe/global/printPreview.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
toolkit/themes/gnomestripe/global/findBar.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
toolkit/themes/gnomestripe/global/findBar.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu&state=disabled");
toolkit/themes/gnomestripe/global/button.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=button");
toolkit/themes/gnomestripe/global/button.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=button&state=disabled");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=menu&state=disabled");

$ grep -r gtk-go-back-ltr *
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu&state=disabled");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu") !important;
browser/themes/gnomestripe/browser/browser.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu&state=disabled");
browser/themes/gnomestripe/browser/places/organizer.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
browser/themes/gnomestripe/browser/places/organizer.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
toolkit/themes/gnomestripe/global/printPreview.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
toolkit/themes/gnomestripe/global/findBar.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
toolkit/themes/gnomestripe/global/findBar.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu&state=disabled");
toolkit/themes/gnomestripe/global/button.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=button");
toolkit/themes/gnomestripe/global/button.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=button&state=disabled");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu");
toolkit/themes/gnomestripe/help/help.css:  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=menu&state=disabled");
Comment 7 Javier Jardón (IRC: jjardon) 2010-10-02 18:21:12 UTC
*** Bug 631184 has been marked as a duplicate of this bug. ***
Comment 8 Robert Nagy 2010-10-07 19:17:47 UTC
I confirm this being an issue on OpenBSD too using any versions of firefox 3.5 or 3.6. Well basically everything based on mozilla is broken now.

It turnes out that only icons with -ltr, -rtl are affects and icons w/o that still display fine by their old names too.

You can easily test this with just putting moz-icon://stock/gtk-go-back-ltr into your URL bar.
Comment 9 Robert Nagy 2010-10-07 19:20:42 UTC
There have been reports from the linux world too about this issue (Arch, Debian and so on.)
Comment 10 Robert Nagy 2010-10-07 22:07:35 UTC
sharp-gtk apps like f-spot are broken too
Comment 11 Matthias Clasen 2010-10-07 23:06:22 UTC
Here is what I think about this issue:

1) What those mozilla themes do (or rather what firefox does with those stock ids) is a bug in mozilla. Stock ids need to be looked up as stock items, icon names need to be looked up in the icon theme.

2) I'd be willing to keep this working in the 2.x branch. A fix would require adding corresponding symlinks to the stamp-icons: target in gtk/Makefile.am.
Patch welcome.
Comment 12 Robert Nagy 2010-10-08 07:46:18 UTC
Matthias, we use the following diff as a local hack to the issue:
http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/gtk%2B2/patches/patch-gtk_Makefile_in
I think it should not be commited to gtk+, so that people can fix their code.
Comment 13 Stew Benedict 2010-10-29 15:20:44 UTC
We've been seeing failures in the LSB/desktop/gtkvts failures that seem to correspond to this change also. A sample of the test code:


static void test_purpose_195()
{
    #define STYLE widget->style
    #define DIRECTION GTK_TEXT_DIR_NONE
    #define TYPE GTK_STATE_NORMAL
    #define SIZE GTK_ICON_SIZE_MENU
    #define DETAIL NULL
    
    GtkIconSet *iconset;
    GtkStyle *style;
    GtkWidget* widget;
    GdkPixbuf* pixbuf;
    

    bug_inf = NULL;
    test_passed_flag = 1;          
    all_test_purp_num++;
    fprintf (stderr, mark_symbol (all_test_purp_num));
    tet_printf("test case: %s, TP number: %d ", tet_pname, tet_thistest);

    iconset = gtk_icon_set_new ();
    
    widget = gtk_image_new_from_icon_set (iconset,SIZE);
   
    pixbuf = gtk_icon_set_render_icon (iconset,
                                       STYLE,
                                       DIRECTION,
                                       TYPE,
                                       SIZE,
                                       widget,
                                       DETAIL
                                       );
    
    if (!pixbuf)
    {
        TEST_FAIL ("Icon is not rendered",NULL);
    }

...

The basic assertion of the test is that gtk_icon_set_render_icon() should never return NULL.

ref: http://bugs.linuxbase.org/show_bug.cgi?id=3044
Comment 14 Ivan Baldo 2010-11-05 21:44:04 UTC
On win32 I am having problems with this, the error message is:
Gtk:ERROR:gtkrecentmanager.c:1942:get_icon_fallback: assertion failed: (retval != NULL)
And is caused by the GtkRecentChooserMenu widget on its own.
The packages used are these:
atk_1.32.0-1_win32.zip
atk-dev_1.32.0-1_win32.zip
bash-3.1.17-3-msys-1.0.13-bin.tar.lzma
binutils-2.20.51-1-mingw32-bin.tar.lzma
cairo_1.10.0-2_win32.zip
cairo-dev_1.10.0-2_win32.zip
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
expat_2.0.1-1_win32.zip
fontconfig_2.8.0-2_win32.zip
fontconfig-dev_2.8.0-2_win32.zip
freetype_2.4.2-1_win32.zip
freetype-dev_2.4.2-1_win32.zip
gcc-c++-4.5.0-1-mingw32-bin.tar.lzma
gcc-core-4.5.0-1-mingw32-bin.tar.lzma
gdb-7.2-1-mingw32-bin.tar.lzma
gdk-pixbuf_2.22.0-1_win32.zip
gdk-pixbuf-dev_2.22.0-1_win32.zip
gettext-runtime_0.18.1.1-2_win32.zip
gettext-runtime-dev_0.18.1.1-2_win32.zip
glib_2.26.0-2_win32.zip
glib-dev_2.26.0-2_win32.zip
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
gtk+_2.22.0-2_win32.zip
gtk+-dev_2.22.0-2_win32.zip
hicolor-icon-theme_0.10-1_win32.zip
libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma
libintl-0.17-2-msys-dll-8.tar.lzma
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
libpng_1.4.3-1_win32.zip
libpng-dev_1.4.3-1_win32.zip
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
msysCORE-1.0.15-1-msys-1.0.15-bin.tar.lzma
msysCORE-1.0.15-1-msys-1.0.15-ext.tar.lzma
pango_1.28.3-1_win32.zip
pango-dev_1.28.3-1_win32.zip
pkg-config_0.23-3_win32.zip
w32api-3.15-1-mingw32-dev.tar.lzma
zlib_1.2.5-2_win32.zip
Comment 15 Pacho Ramos 2010-12-23 12:38:42 UTC
(In reply to comment #11)
> Here is what I think about this issue:
> 
> 1) What those mozilla themes do (or rather what firefox does with those stock
> ids) is a bug in mozilla. Stock ids need to be looked up as stock items, icon
> names need to be looked up in the icon theme.

Has anyone reported this to bugzilla.mozilla.org?

> 
> 2) I'd be willing to keep this working in the 2.x branch. A fix would require
> adding corresponding symlinks to the stamp-icons: target in gtk/Makefile.am.
> Patch welcome.

Looks like openbsd is using:
http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/gtk%2B2/patches/patch-gtk_Makefile_in?rev=1.26;content-type=text/plain

And also Arch:
http://repos.archlinux.org/wsvn/packages/gtk2/trunk/old-icon-symlinks.patch
Comment 16 Pacho Ramos 2010-12-29 20:28:54 UTC
Reported to mozilla devs:
https://bugzilla.mozilla.org/show_bug.cgi?id=621962
Comment 17 Karl Tomlinson 2011-01-10 04:34:59 UTC
All the critical assertions here as well as the problem reported comment 13
(gtk_icon_set_render_icon breaking its promise never to return NULL) seem to
be due to render_fallback_image in gtkiconfactory.c having the same "bug" as
discovered in Gecko in comment 11.  render_fallback_image is looking up the
icon named "image-missing" with icon-name=GTK_STOCK_MISSING_IMAGE.
Comment 19 Karl Tomlinson 2011-02-07 09:45:10 UTC
(In reply to comment #11)
> 1) What those mozilla themes do (or rather what firefox does with those stock
> ids) is a bug in mozilla. Stock ids need to be looked up as stock items, icon
> names need to be looked up in the icon theme.

What Gecko was doing FWIW was looking up a keyword ("gtk-go-back-ltr" in this case) first as a stock id to see if it exists.  If that failed (which was and is still fine), the keyword was used as an icon name.  Changes in bug 626474 mean that the icon name look-up fails.

We can change Gecko to look up by stock id and direction, but icon themes (e.g. gnome-icon-theme) only provide a single "go-previous" icon (presumably because the Freedesktop Icon Naming Specification doesn't describe a means for providing directional variations).

Is the intention that applications pick a single UI direction and select the icon theme based on direction.  Is there a mechanism for that?
Does GNOME have a "default" rtl icon theme?
Comment 20 Ionut Biru 2011-04-05 13:18:57 UTC
i guess this should be closed as not a bug. ff4 has the
Comment 21 Erik van Pienbroek 2011-05-22 18:04:41 UTC
Created attachment 188346 [details] [review]
Use the correct icon name for the 'missing' icon

This issue is still valid in both the gtk2 and the gtk3 branches. If an application tries to render an image which can't be found, the render_fallback_image function is called, but this fails to load the fallback image as well due to the mismatch in naming of the icon. Due to this, the render_fallback_image function will return NULL and can cause assertion errors and/or crashes in other parts of the code (or theme engines). This behavior can also be seen in https://bugzilla.redhat.com/show_bug.cgi?id=667580

I've prepared a patch which makes the render_fallback_image function use the correct name for the 'missing' icon. Please consider applying this patch to both the gtk2 and gtk3 branches
Comment 22 Matthias Clasen 2012-01-05 21:11:46 UTC
I've pushed this fix to all relevant branches, thanks
Comment 23 gnutter 2012-07-21 09:11:49 UTC
I'm using gtk+-3.2.4  and have been chasing this firefox icon issue for some time. 

Just to clarify : is applying Erik's patch from #21 here the correct way to fix this issue?

thx
Comment 24 gnutter 2012-07-21 09:25:43 UTC
No, I was getting two errors, now I get four (per icon).

(firefox:28422): Gtk-WARNING **: Error loading theme icon 'go-next' for stock: Failed to load icon

(firefox:28422): Gtk-CRITICAL **: render_fallback_image: assertion `pixbuf != NULL' failed

(firefox:28422): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(firefox:28422): GLib-GIO-CRITICAL **: g_loadable_icon_load: assertion `G_IS_LOADABLE_ICON (icon)' failed
Comment 25 André Klapper 2012-07-21 09:31:00 UTC
(In reply to comment #23)
> I'm using gtk+-3.2.4  and have been chasing this firefox icon issue for some
> time. 

Firefox uses GTK 2: https://bugzilla.mozilla.org/show_bug.cgi?id=627699

Fix was committed to gtk-2-24 branch on 2012-01-05: http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=fcd01e97187a0c58dfc5c0a4db29d2e92ec3c3de

First 2.24 release after that release was 2.24.9: http://ftp.acc.umu.se/pub/GNOME/sources/gtk+/2.24/

Which GTK 2 version do you use?
Comment 26 gnutter 2012-07-21 09:48:35 UTC
Ah! no wonder I have not been making much progress, thanks.

however,  x11-libs/gtk+-2.24.10

:?
Comment 27 gnutter 2012-07-21 10:13:21 UTC
OK, just updated to 2.24.11 and all the console GTK errors have gone. that's a good start. 

However, still not seeing my ffux icons. Is that a separate issue now ?

thx
Comment 28 gnutter 2012-07-21 10:21:59 UTC
Sorry, last comment is incorrect w.r.t this bug. I do now have forward/back

What I do have is any icons to add (via the interface) for New tab , Reload , etc.

If you can point to what that is about it would be helpful. 

As for this bug it seems fixed in  2.24.11

thx.
Comment 29 André Klapper 2012-07-21 10:24:33 UTC
Don't understand what your question is.
Comment 30 gnutter 2012-07-21 10:46:07 UTC
Sorry, writing 'do' instead of 'do not' probably did not help clarity.

Before all this icon chasing started I had firefox icons in the tabs section of the menubar that provided "new tab", "reload" and a couple of other things. 

Up until you helped fix gtk+ probs I was assuming this was all part of the same issue. Clearly not, now that the error have gone. 

Can you point me to where to look to address that problem.

thx.
Comment 31 André Klapper 2012-07-21 10:55:16 UTC
Very likely has nothing to do with this report (and people get bugmail), so better to ask on a mailing list or a support forum of your distribution, or (worst option as I'm neither a gtk nor a firefox expert) drop me a private email.

No idea what you mean by "Firefox icons in the tabs section of the menubar".

Two vague ideas: GNOME 2.28 by default disabled stock icons on buttons and in menu items. See http://blogs.operationaldynamics.com/andrew/software/gnome-desktop/where-did-all-the-icons-go .
If you refer to missing favicons of websites, see https://bugzilla.mozilla.org/show_bug.cgi?id=742419 and https://bugzilla.mozilla.org/show_bug.cgi?id=748812

As said, offtopic for this report.