You are right, and I withdraw my remarks. As noted, I didn't read it
carefully enough.

But yes, g_idle_add_full() runs in the worker thread, however that's one
thing that is always OK.

On Wed, Feb 27, 2019 at 6:03 PM Mitko Haralanov <voidtra...@gmail.com>
wrote:

> But that's not how the code is written:
>
> g_task_run_in_thread(obj->task, custom_object_work) ->
>   custom_object_worker() ->
>      signal_emit() ->
>         g_idle_add_full(..., signal_emitter, ...);
>
> signal_emitter() is the function that *actually* emits the signal.
> signal_emitter() is supposed to be running in the main context thread
> by the virtue of being the g_idle_add_full() callback.
>
> Are you saying that the g_idle_add_full() callback also runs in the
> worker thread?
>
> On Wed, Feb 27, 2019 at 4:54 PM Paul Davis <p...@linuxaudiosystems.com>
> wrote:
> >
> >
> >
> > On Wed, Feb 27, 2019 at 5:46 PM Mitko Haralanov <voidtra...@gmail.com>
> wrote:
> >>
> >> How is that? The update is happening from a callback executed by the
> >> main context thread?
> >
> >
> > g_task_run_in_thread(obj->task, custom_object_worker);
> >
> > custom_object_worker() emits the "updated" signal. the handler modifies
> the model.
> >
>
_______________________________________________
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to