On 2/7/06, michael meeks <[EMAIL PROTECTED]> wrote: > Hi there, > > So - I've been chasing a rather interesting bug: > > "GNOME hangs on login with a11y enabled" > > Of course - clobbering the proximate cause: gnome-session activating > vino-server synchronously works around this nicely; but there is a > deeper problem: > > When bonobo-activation-server spawns a process; it requires that > process to send back to the parent an IOR reference on a given > file-descriptor - specified in the arguments. If this is not found, the > server registers another way [ as if it were run by hand ]. So - far so > good. > > Like other libraries - bonobo has a double-init guard; so these > arguments need to get to the 1st 'bonobo_init' call; otherwise we > potentially never get the --oaf-ior-fd=NN argument, and bad things > happen[1]. > > So - in the 'bad old days' (gtk-2.4) - this worked beautifully. When > you enable a11y you do: > > export GTK_MODULES=gail:atk-bridge > > The arguments passed to gtk_init got dupped, and subsequently passed > to > gtk_module_init and onwards to libbonobo & the registration all passed > away nicely. > > Unfortunately - the introduction of GOption clobbered all GtkModule > argument passing; and ensures that no GtkModule gets anything but a > 0/NULL argc/argv cf. > > gtkmain.c (do_post_parse_initialization) >
Looks like this is a bug that got introduced when we first switched to GOption, and never discovered. Surprising that nobody noticed it before. I'll look into it, we may just have to do the argv-duping earlier. Matthias _______________________________________________ Gnome-accessibility-devel mailing list Gnome-accessibility-devel@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel