On Oct 19, 2013, at 1:03 AM, Geert Janssens <[email protected]> wrote:

> Hi Mike,
> 
> I don't know much about the internals of Gtk/Gdk either.
> 
> You refer to a missing system schema. Perhaps this is because GnuCash 
> now overwrites the XDG_DATA_DIRS environment variable in some cases. 
> This is done in order to find the GnuCash specific schemas if GnuCash is 
> not installed in /usr.
> 
> Can you perhaps run a git bisect to pinpoint the exact commit that first 
> shows this error ? That would help to eliminate some speculation.

I dug through the code a bit and discovered that gdk_pixbuf_new_from_file does 
depend upon a function called
xdg_run_command_on_dirs (located in glib/gio/xdgmime/xdgmime.c if you want to 
go look at it) which tries to find
the mime files in the following directories (in order): $XDG_DATA_HOME, 
$HOME/.local/share, $XDG_DATA_DIRS. If it gets to $XDG_DATA_DIRS and it's not 
defined, it set it to /usr/local/share:/usr/share.

That last bit is probably the problem. It makes sense that in some cases users 
might want to override the default data directories and prevent them being 
searched, but perhaps glib should warn that that's not the case.

Mike, do you have XDG_DATA_DIRS set in your environment? Where are the mime and 
mime-info directories installed on your system? If you're not using it for 
something else, you could try pointing XDG_DATA_HOME at that directory.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to