From: Mirko M. <mi...@li...> - 2005-02-28 23:15:32
|
Ciao Masao Mutoh wrote: > Hi, >>Patch proposal attached. > > Great. Actually it works. > > But I have a question before approve your patch yet. > Could you investigate why gdk_threads_init() makes threads.rb updates > the label widget automatically? > If gdk_threads_init is called, does label.label= generate an event ? If g_thread_init is called a lot of thing change inside the g_main_loop. The multi-threaded version uses a wake-up pipe that cycles the poll function (glib/gmain.c:777). The g_main_context_init_pipe function adds an event (wake_up_rec) for the wakeup pipe (this is done only in the multithreaded version). Haven't found what triggers the event. The pipe is written by g_main_context_wakeup and read by g_main_context_check. I think it all depends on the "child_watch_helper_thread" that calls g_main_context_wakeup. Mirko |