Re: Emitting signals from threads



I'm working on it. But yes, this really seems a bug in Gtk.

Il mer 6 mar 2019, 18:40 Mitko Haralanov <voidtrance gmail com> ha scritto:
Hi,

Any update? Does anyone think this is a bug that should be filed against Gtk?

Thanks

On Thu, Feb 28, 2019 at 2:05 AM Luca Bacci <luca bacci982 gmail com> wrote:
>
> Hi, I can't promise I will find a solution but I'll certainly take a look at this
>
> Il gio 28 feb 2019, 02:13 Paul Davis <paul linuxaudiosystems com> ha scritto:
>>
>> 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 <voidtrance 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 <paul linuxaudiosystems com> wrote:
>>> >
>>> >
>>> >
>>> > On Wed, Feb 27, 2019 at 5:46 PM Mitko Haralanov <voidtrance 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]