Re: GTK+ Modules and GDK



Joel Becker <jlbec evilplan org> writes:

> On Tue, Jun 18, 2002 at 02:12:06PM -0400, Owen Taylor wrote:
> >  E) Make modules export a special entry point indicating 
> >     that they are "multihead aware". If they don't export
> >     it, then don't initializate them until a default
> >     display has been set up.
> > 
> >     (This entry point could be 'gtk_module_init2()', a cleaner
> >     looking way to do it would be to say that if a module exports
> >     gtk_module_init_display(), then the gtk_module_init()
> >     will be called initially, and gtk_module_init_display()
> >     for each display.)
> 
> 	I must admit I can't quickly come up with a situation where I'd
> want to start a GUI toolkit without a GUI, but the ability for GTK+ and
> modules to do per-display work is obviously needed.  I like your E)
> solution with the init()/init_display() calls.  It covers all the bases
> and cleanly maps to the problem space, whereas some of the other
> solutions are roundabout or unintuitive to the module programmer.

Just to kill speculation :-), the reasons for initialization 
without opening a display are:

 1) Programs that are structured as:

    a) Initialize GTK+  
 
    b) Take requests for opening a connection to display X

 2) Introspection by documentation or language-binding generation
    tools. (gtk-doc doesn't need GTK+ to run any more, but running
    gtk-doc for GTK+ does require GTK+.)

Mostly 1), since 2) basically works now ... none of our class_init()
functions require gtk_init() to have been called at the moment.

Regards,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]