Re: Multiple threads and drawing



No Diego, just click on 'reply to all' that way the OP gets a copy of your email as well as the entire gtkmm-list-group.

Have good one, but if you are going to have more than one... give a shout!
Germán Diago wrote:
2008/6/18 klaus triendl <klaus triendl eu>:
  
Germán Diago schrieb:
    
Cool framework. I hadn't heard of it. Unfortunately, I'm not going to
use it because it adds dependencies and I don't
want more dependencies than boost and gtkmm.
      
sigx++ only needs tr1 and depends on glibmm when using the library. gtkmm
depends on glibmm, too, so no extra dependencies. tr1 is already available
with some compilers or it is available in newer boost releases.

    
Anyway, the idea is not to make ANY gtk+ code from another thread
which is not the GUI thread? In my threads code
I use Gtk::Pixbuf::scale_simple to make thumbnails. Does that mean I
cannot use it? Because if I can't I cannot make
multithreaded code for what I want to.
Or maybe I can as long as I don't draw anything in screen, and when the
image is
calculated I send it through a dispatcher and the GUI thread renders
it? Is that the way to do it? Thanks in advance.
      
You are NOT probibited to call gtk+ code from threads other than the GUI
thread. The point is to make _access_ to objects (e.g. your Gtk::Pixbuf)
threadsafe (use a mutex, e.g.) and avoid calling functions of GUI objects
(like the Gtk::Table or Gtk::Label) from other threads - this will make
things much easier.
So, sending the calculated images through a dispatcher to the GUI thread is
the way to go.



One question remains though: is sharing a Glib::RefPtr<> between multiple
threads threadsafe, given that only one thread at a time accesses the actual
object? Or asked differently: is Glib::ObjectBase::reference() and
Glib::ObjectBase::unreference() threadsafe?


To Germán: please reply to all if you reply to a message...

Klaus

    
I was also thinking about the thread safety of Glib::RefPtr<>. I don't
know if it is or not, and I didnt find anything in the documentation.
When you say I should reply everyone, should I reply to both everyone
and gtkmm-list one by one? Thanks for your time.
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list

  


-- 
Happiness has many doors, and when one of them closes another opens, yet we spent so much time looking at the one that is shut that we don't see the one that just opened..


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