Re: [g-a-devel] GUI Restrictions on an Accessibility App?
- From: "Quiring, Sam" <Sam Quiring windriver com>
- To: <Li Yuan sun com>
- Cc: gnome-accessibility-devel gnome org
- Subject: Re: [g-a-devel] GUI Restrictions on an Accessibility App?
- Date: Wed, 21 Jan 2009 06:33:18 -0800
> 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?
No, SPI_event_main() has not started running yet. Given the above
information, I see the problem. Thanks.
-----Original Message-----
From: Li Yuan sun com [mailto:Li Yuan sun com]
Sent: Tuesday, January 20, 2009 8:08 PM
To: Quiring, Sam
Cc: gnome-accessibility-devel gnome org
Subject: Re: [g-a-devel] GUI Restrictions on an Accessibility App?
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]