On Sat, Aug 04, 2007 at 09:38:25PM +0800, Gregory Hosler wrote: > I have a threaded gtk application. The threads create some gui (gtk > widgets/windows). and most of the time (maybe 80%) everything works as > expected. > Occassionally I will get the message on stdout > > Xlib: unexpected async reply (sequence #####)! > > the ### is an x event sequence number > > I am suspecting that this is because of the x calls from 2 different threads. > > Is this a known problem? > > Any way around this ? (I thought gtk was supposed to be thread ok :)
The answer depends on your defintions of `OK', `known' and `problem': - Gtk+ is thread-aware - Gtk+ is not thread-safe If you operate on the GUI from multiple threads: - you are responsible for the locking on Unix/X - it will just not work on MS Windows See http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html People typically operate on the GUI only from the main thread (i.e. running gtk_main()) and pass work requests to it via g_idle_add() or some other queue mechanism. This topic is discussed here every other week, see the list archives. Yeti -- http://gwyddion.net/ _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list