Problem with X11 version of GnuCash on MacOSX
Geert Janssens
janssens-geert at telenet.be
Sun Oct 20 04:40:15 EDT 2013
On Saturday 19 October 2013 21:24:16 Mike Alexander wrote:
> On Oct 19, 2013, at 3:59 PM, John Ralls <jralls at ceridwen.us> wrote:
> > If you mean you did
> >
> > - echo
> > "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:/usr/local/share/:/u
> > sr/share/" >> $@.tmp; \ + echo
> > "XDG_DATA_DIRS=$(prefix)/share:${XDG_DATA_DIRS}:/usr/local/share/:/
> > usr/share/" >> $@.tmp; \
> >
> > then I think that's right and what Geert meant to do in the first
> > place.
> Not quite. I changed it so it takes either the run time or compile
> time value, preferring the run time value:
>
> + echo
> "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:$(XDG_DATA_DIRS):/usr/
> local/share/:/usr/share/" >> $@.tmp; \
> > Environment.in is munged, then parsed in gnucash-bin.c. I don't
> > think that the separators are passed as-is to the OS.
> Right. Actually it uses the GLib key-value file parser to parse the
> file and this requires semicolon delimiters between values. I
> changed the value for XDG_DATA_DIRS to use ";" instead of ":". I
> also changed environment_override in gnucash-bin.c to skip null
> values in path lists so a missing XDG_DATA_DIRS won't clutter up the
> list.
>
> I'll check these changes in later when I'm sure they work.
>
> Mike
Mike,
It seems odd to me that you would need to insert the compile time value
of XDG_DATA_DIRS. Is it only set at compile time for you or does your
runtime environment have a different value for XDG_DATA_DIRS than your
compile time environment ?
I also wonder if the change of ";" to ":" alone would not have fixed
this issue. This was clearly a bug, which I would expect to only have
influence if XDG_DATA_DIRS is actually set in the runtime environment.
(I haven't tested any of this, I'm not at my development machine)
Geert
More information about the gnucash-devel
mailing list