Re: Help needed with an a11y related Cheese bug
- From: Filippo Argiolas <fargiolas gnome org>
- To: michael meeks novell com
- Cc: cheese-list gnome org, gnome-accessibility-list gnome org
- Subject: Re: Help needed with an a11y related Cheese bug
- Date: Thu, 5 Mar 2009 16:34:39 +0100
On Thu, Mar 5, 2009 at 10:07 AM, Michael Meeks <michael meeks novell com> wrote:
> Hi Filippo,
Hi Michael,
>> I'm sending this mail because of a pretty strange cheese bug that only
>> happens if accessibility is enabled.
>
> What fun :-)
Hehe sure :-)
>> 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);
>
> Is this code correctly protected with the gdk mutex functions ? should
> you be using gdk_threads_add_timeout [ and it's equivalent ] everywhere
> that you do that ?
>
>> 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?
>
> So - if you are using gtk+ in a threaded fashion, there are a -lot- of
> potential interesting problems ;-) are you actually doing that ? and if
> not, why initialise gdk for thread support ?
I confirm we're using gtk+ in a threaded fashion :-)
We need it to setup the webcam device without blocking the UI and
another thread is also used to generate thumbnails for the same
reason.
I agree that threads could be involved in this issue but as far as I
can tell, I did some quick check, all function from cheese flash are
called in the main thread, cheese_flash_fire is called by the
button-clicked signal handler. So there shouldn't be any need to
protect them with gdk_threads_enter/leave. Furthermore if I try to add
some gdk_threads_enter/leave here and there they block the application
when a photo is taken (probably that's the effect of gdk_threads_enter
if you're already in the main thread).
I had no luck either with replacing g_timeout_add with gdk_threads_add_timeout.
Anyway as I said I did just some quick check, I'll do some better test
within next days. A thread locking issue seems the best explanation to
such behavior.
Thanks,
Filippo
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]