
On Nov 10, 2010, at 10:11 AM, ~suv wrote:
On 10/11/10 18:14, ~suv wrote:
Inkscape's issues with current GTK+ 2.22:
- Recent files
https://bugs.launchpad.net/inkscape/+bug/651678 3) Document Properties https://bugs.launchpad.net/inkscape/+bug/658055 4) Text tool: font selector Alert icon for missing fonts is not found, but Inkscape doesn't crash.
Forgot to add:
These issues seem to be caused by a change in GTK+ 2.22 as described in https://bugs.launchpad.net/inkscape/+bug/651678/comments/18
Overview of Changes from GTK+ 2.21.7 to 2.21.8:
- GTK+ now uses standard icon names for stock icons, where applicable
http://mail.gnome.org/archives/gtk-devel-list/2010-September/msg00204.html
Bug 629878 – gtk+ - Missing icons: https://bugzilla.gnome.org/show_bug.cgi?id=629878
I was able to update macports and get this reproduced.
The problem was as I thought; that is there are issues with themeable stock items vs. icon themes and how they fallback and are called.
The document properties bug in 658055 was expressly due to looking in one when the icon is present in the other. There was a quick hack added to prevent outright crashing (via a hail-mary try/catch), but I've got a proper fix now that includes checking the has_icon() call upfront and thus avoiding calls that would trigger an error to be thrown. I correct fix is now in.
The recent files issue is easily fixed, as I suspected. We just need to have a fallback registered in icons.svg and then the crash goes away. And by registering it as a fallback from our icons.svg file it does not take over the users normal defaults. It will only show up as an icon of last resort (which is exactly what we want). Some of the work-arounds, such as adding files in one of the directories, end up taking over the users preferred theme settings. I just need to clean up this code before committing.
The text tool alert icon is caused by the same fallback/missing error. I'll probably have a fix for this one later.