Re: gtkmm 3.4.0 (gtk 3.4.2) multithread app graphic deterioration



I'm not very experienced in c++ and gtkmm, so far (after reading http://developer.gnome.org/gdk3/stable/gdk3-Threads.html)
I did protect the following graphics calls:

1) from non main threads
2) the glib timeout calls

are you saying I have to protect also every single gtk callback? This would be very bad of gtkmm :(

Giuseppe.


Calling up the GDK global lock is not a good way to do it with gtkmm
because (amongst other things) libsigc++ is not thread safe.  You might
want to read the attachment to the now very old bug report at
https://bugzilla.gnome.org/show_bug.cgi?id=512348 for an explanation of
how to do it.  (The lack of priority given to threading issues might
also be something you want to consider.)

If you do want to use the global lock, you should in any event move the
call to gdk_threads_enter() so that the instantiation of Gtk::Main is
within it, as well as making sure that all access to libsigc++ objects
by multiple threads, including any unseen access arising from the
operation of sigc::trackable, are within a mutex (which might of
course be the global lock).

Chris



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