Re: Help needed with an a11y related Cheese bug
- From: Li Yuan <Li Yuan Sun COM>
- To: Filippo Argiolas <fargiolas gnome org>
- Cc: cheese-list gnome org, gnome-accessibility-list gnome org
- Subject: Re: Help needed with an a11y related Cheese bug
- Date: Thu, 05 Mar 2009 16:28:06 +0800
Hi Filippo,
I reproduced the bug. I think cheese is hanging. From the trace, I found
10 threads in cheese, but I don't find any accessibility code involved.
I am not familiar with cheese's code so I don't know why there is a
hang. But note that, when accessibility is enabled, a thread could lost
the gdk lock when it emit a GUI signal, like show a window.
There is such code in atk-bridge:
bridge_threads_leave ();
Accessibility_Registry_notifyEvent(...);
bridge_threads_enter ();
bridge_threads_leave is equal to GDK_THREADS_LEAVE and
bridge_threads_enter is equal to GDK_THREADS_ENTER.
Maybe this has something to do with the hang.
Li
Filippo Argiolas wrote:
Hi all,
I'm sending this mail because of a pretty strange cheese bug that only
happens if accessibility is enabled.
I already added the "accessibility" keyword in bugzilla but maybe I
have more chance to find someone who has a clue about it asking for
help here :)
The bug in question is
http://bugzilla.gnome.org/show_bug.cgi?id=566098 (see my last
comments)
If cheese is started with:
/usr/lib/at-spi/at-spi-registryd&
GTK_MODULES=gail:atk-bridge cheese
when a photo is taken the screen becomes indefinetely white while it
should just show the "flash" and hide it right after.
We do the flash with a fullscreen white window that is shown when a
photo is taken and fades out gradually reducing its opacity if screen
is composited or just hides if not.
The relevant lines from cheese-flash.c are:
gtk_widget_show_all (GTK_WIDGET (flash_window));
flash_priv->flash_timeout_tag = g_timeout_add (FLASH_DURATION,
cheese_flash_start_fade, (gpointer) flash);
cheese_flash_start_fade is the function that hides or fades out
flash_window but I don't think it really matters here.
I believe the GSource attached by that g_timeout_add never gets called
if a11y modules are loaded.
I tried increasing the timeout priority but doesn't seem to make any difference.
There is also some relationship with the event that called
cheese_flash_fire, I could be wrong but it seems that if the Take
photo button is activated with the spacebar the problem doesn't occur
while it does almost every time if the even is a mouse click.
I tried to figure out what could cause this behaviour but I have no
knowledge about the way accessibility works so I couldn't get any far.
Did any of you ever heard about g_timeout_add not working with a11y enabled?
Any idea of what could cause this issue?
Thanks,
Filippo Argiolas
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]