Re: [g-a-devel] GUI Restrictions on an Accessibility App?



 
> 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]