Re: [g-a-devel] GUI Restrictions on an Accessibility App?
- From: Li Yuan <Li Yuan Sun COM>
- To: "Quiring, Sam" <Sam Quiring windriver com>
- Cc: gnome-accessibility-devel gnome org
- Subject: Re: [g-a-devel] GUI Restrictions on an Accessibility App?
- Date: Wed, 21 Jan 2009 12:07:32 +0800
Quiring, Sam wrote:
Greetings,
To date, our at-spi applications do not have GUI interfaces, but we
are now trying to add one. I seem to be experiencing some
restrictions and am wondering if there are certain rules that need to
be followed?
Our app runs the SPI event loop in the main thread, so during startup
the Gtk+ GUI and its event loop are started in a new thread.
The effective end of the main thread looks like this:
createListeners();
registerListeners();
SPI_event_main();
SPI_deregisterAll(genericListener);
If execution of the main thread makes it past registerListeners()
before the GUI is initialized, then the GUI never comes up, it hangs
in the call to show the app's main window: gtk_widget_show(window).
If I stop the main thread before registerListeners() and wait until
gtk_widget_show(window) returns, then the GUI comes up and mostly
works. registerListeners just consists of a series of calls on
SPI_registerGlobalEventListener, SPI_registerDeviceEventListener, and
SPI_registerAccessibleKeystrokeListener.
Does anyone have an explanation for this behavior? What is it in the
SPI_register* routines that would cause gtk_widget_show(window) to hang?
Could be a dead lock. gtk_widget_show emits signal to atk-bridge,
atk-bridge transfers to at-spi-registryd. And at-spi-registryd notifies
your application. Does your application has a mainloop at this time?
Li
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]