Re: Problem using Gtk 2.2.1 on WinXP



Tor Lillqvist wrote:

> Comparing to the sample program at
> http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html , it seems
> that you should surround the call to gtk_main() with
> gdk_threads_enter() and gdk_threads_leave(). Indeed, with this
> addition your test program works.


Thanks. But when I read the docs about gdk_threads_enter/leave funcs I don't remember anything saying that gtk_main() also needs those...



> (I don't know why it works as such on Win9x.)

And it worked on my Mandrake 9.1 too.



> *But*, if you are writing a multi-threaded GTK program, please note
> that in general multi-threaded GTK use doesn't work on Windows (yet,
> and don't hold your breath waiting for it to be fixed).

Noooooo! :(
How can I write a GTK+ app for networking? The user clicks on a "Connect" button, and the resolve/connect operation is made in a separated thread. The docs says:

--
"Callbacks require a bit of attention. Callbacks from GTK+ signals are made within the GTK+ lock. However callbacks from GLib (timeouts, IO callbacks, and idle functions) are made outside of the GTK+ lock. So, within a signal handler you do not need to call gdk_threads_enter(), but within the other types of callbacks, you do."
--

So this means that even with a gtk_idle workaround I won't be able to update the GUI?




Daniel K. O.







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