Preferences, Undo, Redo and Revert stock icons are missing (rev >= 12868)

Bug #1269698 reported by jazzynico
84
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Inkscape
Triaged
Medium
Unassigned
0.92.x
Fix Released
Medium
su_v

Bug Description

Reproduced on Windows XP, Inkscape trunk revision 12882.
Not reproduced with revision 12859.
Not reproduced at all on Crunchbang Waldorf.

The Revert (document-revert), Preferences (preferences-system), Undo (edit-undo) and Redo (edit-redo) icons are replaced with the default "missing" icon.

Seems to be related to revision 12868 - Fix Gtk+ 3.10 warnings: GtkStockItem is deprecated.
<bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/12868>

Revision history for this message
su_v (suv-lp) wrote :

Confirmed on OS X 10.7.5 with gtk icon theme 'hicolor'.

The icons render as expected if using any non-stock icon theme (Gnome, Tango, Faenza, etc)

tags: removed: win32
Changed in inkscape:
status: New → Confirmed
Revision history for this message
su_v (suv-lp) wrote :

Other regressions of r12868 include missing 'edit-clear' icon on the star tool controls bar (InkAction vs GtkAction?), and - with hicolor stock icon theme - poor rendering of a lot more of Inkscape's icons (unnecessarily scaled and blurry) unless icons sizes are explicitly defined in the gtkrc file used by inkscape.

Revision history for this message
su_v (suv-lp) wrote :
jazzynico (jazzynico)
Changed in inkscape:
assignee: nobody → jazzynico (jazzynico)
status: Confirmed → Triaged
status: Triaged → In Progress
Revision history for this message
jazzynico (jazzynico) wrote :

Some stock icons names have changed apparently (see https://git.gnome.org/browse/gtk+/tree/gtk/stock-icons/16?h=gtk-3-8, same names with gtk-2.24).

Patch in progress.

Revision history for this message
jazzynico (jazzynico) wrote :

Patch attached.

Note that it could break non-stock icon themes that don't follow the changes in the gtk icons naming (that's the case with the faenza icon theme on Crunchbang; the missing icons are replaced with the default stock-icons).

It also fixes the 'edit-clear' icon bug (not related to the icon theme). Replacing GtkAction with InkAction fixed it (good catch, ~suv!).

> with hicolor stock icon theme - poor rendering of a lot more of Inkscape's icons (unnecessarily scaled and blurry) unless icons sizes are explicitly defined in the gtkrc file used by inkscape.

Not reproduced on Crunchbang Waldorf and Windows XP, Inkscape trunk revision 12938.

Revision history for this message
su_v (suv-lp) wrote :

On 2014-01-16 18:01 +0100, jazzynico wrote:
> Note that it could break non-stock icon themes that don't follow the
> changes in the gtk icons naming (that's the case with the faenza icon
> theme on Crunchbang; the missing icons are replaced with the default
> stock-icons).

Redo/undo changes of the patch also affect default Gnome icon theme (GTK+/Quartz 2.24.22, glib2 2.38.2, gnome-icon-theme 3.10.0): the fallback built-in icon is used instead of the one from the Gnome icon theme.

> - INKSCAPE_ICON("edit-undo")),
> + INKSCAPE_ICON("edit-undo-ltr")),

What about interfaces using RTL instead of LTR? IIRC this issue came up on one of the gtk mailing lists too, recently (AFAIU the recent GTK+ and glib changes to remove stock items broke interface choices of quite a few GTK+ apps (outside of the Gnome world)).

Revision history for this message
su_v (suv-lp) wrote :

Likely related upstream reports wrt icons with LTR/RTL variants:
<https://bugzilla.gnome.org/show_bug.cgi?id=690563>
<https://bugzilla.gnome.org/show_bug.cgi?id=702423>

Unpatched trunk built with GTK+ 3.10.6, Glib 2.38.2 does indeed fall back to (correct) Gnome icons for Undo/Redo (if the Gnome icon theme is installed), but still does not appear to be able to use the built-in ones (e.g. if the Gnome icon theme has been uninstalled).

Revision history for this message
jazzynico (jazzynico) wrote :

Fix for the edit-clean icon committed revision 12941.

I need some time to investigate the RTL-LTR issue. Lots of reading apparently ;).

Revision history for this message
jazzynico (jazzynico) wrote :
Revision history for this message
jazzynico (jazzynico) wrote :

Apparently nothing we can do, except revert the changes introduced revision 12868 until everything is fixed in GTK.

Changed in inkscape:
assignee: jazzynico (jazzynico) → nobody
status: In Progress → Triaged
summary: - Preferences, Undo, Redo and Revert stock icons are missing
+ Preferences, Undo, Redo and Revert stock icons are missing (trunk >=
+ 12882)
Revision history for this message
su_v (suv-lp) wrote : Re: Preferences, Undo, Redo and Revert stock icons are missing (trunk >= 12882)

One of the related message on gtk-devel mailing list:
«Yes stock items automatically displayed the rtl variant if there was one. With their deprecation the programmer now has to handle that themselves The stock item migration documentation only mentions the ltr names though and doesn't point out that it's the programmers responsibility to handle rtl variants. »
<https://mail.gnome.org/archives/gtk-devel-list/2013-October/msg00133.html>

Also:
<https://mail.gnome.org/archives/gtk-devel-list/2013-July/msg00046.html>
<https://mail.gnome.org/archives/gtk-devel-list/2013-August/msg00023.html>

Revision history for this message
Alvin Penner (apenner) wrote :

still present in Windows XP, Inkscape rev 13534
I would propose making this into a blocker bug

Revision history for this message
Martin Owens (doctormo) wrote :

What would other developers think if we simply moved the icons into our own icon theme? Clearly the gnome developers have broken their icon themes in ways we can't fix, but our own icons are unaffected.

Revision history for this message
su_v (suv-lp) wrote :

"Worked around" for OS X packages by creating, bundling and using a custom GtkStock icon theme based on the built-in icons in GTK2, with legacy icon mappings (symlinks) added, as well as additional symlinks for directional icons [1].

Doesn't fix the regression with directional icons: those are still "broken" (wrong direction) in trunk and 0.91pre2 even with the custom icon theme when using RTL GUI language (compared to current stable 0.48). AFAIU (but I could be wrong) it would need new code in Inkscape to handle what was previously done by the toolkit.

--
[1] Additional resources (copied from GTK+ source tree):
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head:/packaging/macosx/Resources-extras/src/icons/stock-icons/
Creating the icon theme:
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/packaging/macosx/create-stock-icon-theme.sh
Including the icon theme in the package:
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/packaging/macosx/osx-app.sh#L432
Using the custom icon theme:
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/packaging/macosx/Resources/etc/gtk-2.0/gtkrc#L8

tags: added: packaging
Revision history for this message
su_v (suv-lp) wrote :

Mostly a packaging issue AFAIU, affecting non-linux platforms which don't use desktop-wide (gtk) icon themes.

Changed in inkscape:
milestone: 0.91 → 0.91.1
Revision history for this message
su_v (suv-lp) wrote :

Diff for temporary workaround (include missing icons in Inkscape's icons.svg file) attached for lp:inkscape/0.91.x

SVG source was taken from gtk+ git branch:
https://git.gnome.org/browse/gtk+/tree/gtk/stock-icons/16?h=gtk-2-24

Revision history for this message
su_v (suv-lp) wrote :

As mentioned earlier, this kind of workaround does not fix or support showing the correct directional icons with RTL scripts as locale.

Revision history for this message
jazzynico (jazzynico) wrote :

I suggest that we use the workaround from comment #17 to create a specific package for Windows only, without committing it to the trunk, that we could use to release a fixed version very quickly (0.91.0.1?). The bug is too visible to be left unpatched IMHO.

Revision history for this message
Alvin Penner (apenner) wrote :

agreed, this bug is very visible, and very embarrassing, in Windows, rev 0.91 r13725.
in my case, I am also missing the icon File->Templates, although I guess that is outside the scope of the patch in comment 17.

Revision history for this message
su_v (suv-lp) wrote :

<off-topic>
@Alvin - yes, that's unrelated, and tracked in Bug #1378338: “trunk: Icon needed for menu item 'File > New > Templates…'”. Also mentioned in the bug description of Bug #1414384 “Simplify 'File' menu structure (remove submenu 'New')”, which moved the menu entry to the top-level menu.
</off-topic>

Revision history for this message
jazzynico (jazzynico) wrote :

Workaround tested successfully on Windows XP, Inkscape trunk rev. 13901.

Revision history for this message
su_v (suv-lp) wrote :

Updated version of proposed diff for 0.91.x (replaces diff from comment 17).

Revision history for this message
su_v (suv-lp) wrote :

Diff for current trunk (r14027) - workaround to provide icons not found among built-in stock icons (GTK2) due to changed naming conventions (known missing icons are added to Inkscape's default icon set).

su_v (suv-lp)
summary: - Preferences, Undo, Redo and Revert stock icons are missing (trunk >=
+ Preferences, Undo, Redo and Revert stock icons are missing (rev >=
12882)
Revision history for this message
Yves Goergen (ygoe) wrote : Re: Preferences, Undo, Redo and Revert stock icons are missing (rev >= 12882)

How can this have "Medium" priority when major features (Undo) are not visible anymore? And this issue is now known for almost two years... I'm speechless. How hard can it be to add a few missing icons?!

Revision history for this message
Patrick Storz (ede123) wrote :

I also think this should have been fixed a long time ago... Our current stable version is not good publicity for Inkscape.

When I first installed 0.91 I was presented with missing icons and severe translation errors. I had expected a bugfix release within days and I'm wondering why it is still not here. I think it's it's about time to finally get our act together and release such a bugfix release in the stable branch to account for those extremely visible issues.

Revision history for this message
su_v (suv-lp) wrote :

Attaching updated and extended patch v4 for proposed workaround in 0.91.x.

Revision history for this message
su_v (suv-lp) wrote :

Workaround for stable release branch committed in rev 13823.

Revision history for this message
su_v (suv-lp) wrote :

Keeping bug task for trunk (series 0.92.x) open - as mentioned earlier, the workaround (now committed to the stable branch) is just that: a workaround (mostly for platforms other than linux). AFAICT directional icons need a real fix.

Revision history for this message
Patrick Storz (ede123) wrote :

I already mentioned it in inkscape-devel but I think it should also be noted here:
We should definitely fix (or workaround again) this bug before releasing 0.92.

It's a shame we never pushed a 0.91.x release with the broken icons fixed, and we certainly must not repeat this error with the next stable release. What will people think if Inkscape doesn't even get something "simple" as menu icons right? It might not influence functionality but it looks really bad and does not exactly strengthen peoples confidence in Inkscape as a professional SVG editor.

Revision history for this message
ScislaC (scislac) wrote :

su_v: At this point is this workaround something we should commit to trunk or just have the Windows and OSX packagers apply the patch to their builds?

Eduard: 0.91.1 is still coming btw.

Revision history for this message
su_v (suv-lp) wrote : Re: [Bug 1269698] Re: Preferences, Undo, Redo and Revert stock icons are missing (rev >= 12882)

On 2016-05-28 02:32 (+0200), ScislaC wrote:
> su_v: At this point is this workaround something we should commit to
> trunk or just have the Windows and OSX packagers apply the patch to
> their builds?

For current OS X packaging, there's already a different workaround in
place (details/history on demand). For Windows packages, the workaround
could be patched in by the packagers, yes. Or it is simply applied to
Inkscape's icons file in the 0.92.x stable release branch once it has
been created (like for 0.91.1) - then packagers for the 0.92 series
would not have to bother.

I would still vote against applying the existing workaround to trunk:
1) It hides legacy stock icon names in use.
2) Directional icons still need fixing for RTL GUI.
3) Once Inkscape switches to GTK3, any packages for non-Linux desktops
(i.e. for Windows, OS X) will have to include the Adwaita icon theme
anyway (as a dependency of Gtk+ itself).
4) It's unclear at this point in time how Inkscape's own icons will be
maintained in the future (as is in a single custom icons file, or as
individual icon files in a "regular" gtk icon theme).

If considered helpful, I will provide an updated diff for icons.svg in
the upcoming 0.92.x stable release branch.

Revision history for this message
Patrick Storz (ede123) wrote : Re: Preferences, Undo, Redo and Revert stock icons are missing (rev >= 12882)

@su_v: This would definitely be considered helpful! Applying the patch to the 0.92.x stable branch sounds like the best thing to do. We just have to make sure not to forget about it...

Since the updated roadmap suggests to switch to GTK3 after 0.92 release and remove GTK2 after 0.93 release the question is if it even makes sense anymore to think about a "proper" fix.

@ScislaC: Yes, I think you mentioned that before, but 0.91 was released almost 1.5 years ago whereas bugfix releases are intended as a way to *quickly* patch out issues in the stable branch. Also with 0.92 nearing completion I doubt there will be many people who care about a late 0.91.1.

Revision history for this message
ScislaC (scislac) wrote :

Eduard: Let's say that there's some yet undiscovered horrible new bug in 0.92 that affects you that nobody figures out a fix for until months later. Would you rather use 0.91, 0.91.1, or 0.92?

Revision history for this message
Patrick Storz (ede123) wrote :

Well I'd say we did something horribly wrong if there is a horrible bug in 0.92 and we only catch it after the release. ;-)

I'm not saying we should not release 0.91.1, I'm saying we should be more quick with bugfix releases if possible. That's the whole idea behind them... Having a bugfix release sitting around in our repository does not help anybody (people who know how to build one themselves are likely using a trunk build anyway). We should rather aim to release them as quick as possible, even if this means having multiple bugfix releases in quick succession.

su_v (suv-lp)
summary: Preferences, Undo, Redo and Revert stock icons are missing (rev >=
- 12882)
+ 12868)
Revision history for this message
su_v (suv-lp) wrote :

Patch for lp:inkscape/0.92.x with workaround for missing icons if no full Gtk+ icon theme is installed (or bundled).

The proposed diff also includes missing stock icon references for the Objects dialog as tracked in (AFAICT related) bug #1593237.

Please note: The icons file was saved with recent lp:inkscape/0.2.x r15051 using the recommended SVG output settings (no indentation, inline attributes, numeric precision 7): the unified diff thus also includes changes to other parts of the icons file due to earlier edits which had been done either manually or with output settings other than recommended ones.

Revision history for this message
jazzynico (jazzynico) wrote :

Fix committed in the 0.92.x branch rev. 15055.
Thanks suv!

Changed in inkscape:
milestone: 0.92 → 0.93
Mc (mc...)
Changed in inkscape:
status: Triaged → Fix Released
status: Fix Released → Triaged
Revision history for this message
jazzynico (jazzynico) wrote :

Also affects the Objects dialog and its right-click menu (see duplicate Bug #1593237).

jazzynico (jazzynico)
no longer affects: inkscape/0.91.x
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.