Re: GTK_MODULE (G)Option breakage & init ordering ...
- From: Owen Taylor <otaylor redhat com>
- To: Matthias Clasen <matthias clasen gmail com>
- Cc: Mark McLoughlin <markmc redhat com>, accessibility mailing list <gnome-accessibility-devel gnome org>, Bill Haneman <bill haneman sun com>, bonobo <gnome-components-list gnome org>, Gtk Hackers <gtk-devel-list gnome org>, michael meeks novell com
- Subject: Re: GTK_MODULE (G)Option breakage & init ordering ...
- Date: Tue, 07 Feb 2006 17:04:49 -0500
On Tue, 2006-02-07 at 16:42 -0500, Matthias Clasen wrote:
> On 2/7/06, michael meeks <michael meeks novell com> wrote:
> >
> > On Tue, 2006-02-07 at 09:24 -0500, Matthias Clasen wrote:
> > > > Unfortunately - the introduction of GOption clobbered all GtkModule
> > > > argument passing; and ensures that no GtkModule gets anything but a
> > > > 0/NULL argc/argv cf.
> > >
> > > Looks like this is a bug that got introduced when we first switched to
> > > GOption, and never discovered. Surprising that nobody noticed it before.
> >
> > Right ;-) of course, there could be a 3rd bug somewhere that's
> > revealing this suddenly.
> >
> > > I'll look into it, we may just have to do the argv-duping earlier.
> >
> > Well - IMHO it'd be better to re-work that -slightly- to dlopen the
> > gtk_modules earlier (since that has to be done anyway) and hooking some
> > GOption info out of them - so they can have a crack at parsing the args
> > themselves [ no idea if that'll work though ;-) perhaps a double parse
> > is necessary to get the --gtk-modules= flag out first ].
> >
> > That'd IMHO add a clean / generic way to allow modules to register
> > arguments I suppose.
> >
>
> I'm not sure sure that thats easily possible. Currently, we are a)
> delaying the dlopening of some modules until the display is opened,
> and b) modules can be specified on the command line, so it is hard to
> make them contribute to the parsing of that command line...
>
> Unfortunately, fixing the current code is not possible without an api
> addition to GOption.
> The reason for this is that we allow to initialize gtk by just getting
> the gtk option group,
> and use g_option_context_parse() yourself. And currently, there is no
> way to get hold of the argument vector from the option group
> callbacks. So, a fix along these lines would require
> us to add another post-parse hook to GOptionGroup which would receive
> the leftover arguments.
I have vague memory that modules not getting arguments is intentional
rather than an oversight ... that we discussed it at the point of the
GOption switch and decided it was fundamentally busted and
unsupportable.
I may just be inventing that memory...
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]