On Sat, 2007-09-01 at 15:52 +0200, [EMAIL PROTECTED] wrote:
> Note on Dispatcher class, I've taken a closer look to its interface. I've 
> seen that the 
> connect member function returns a sigc::connection object. this means that 
> the signal could be 
> disconnected from dispatcher and another one be connected.
> 
> (not tested)
> sigc::conecttion connect = dispatcher.connect(sigc::mem_func(*this, 
> example::func1param, 
> "param1"));
> dispatcher.emit();
> connect.disconnect();
> sigc::conecttion connect = dispatcher.connect(sigc::mem_func(*this, 
> example::secondfunction, 
> "second parameter"));
> dispatcher.emit();

I am not entirely sure what you are proposing, but the point you will
need to bear in mind is that because libsigc++ does not do its own
locking/synchronisation, with Glib::Dispatcher the same thread has to
connect, disconnect and execute the slot.  Any other thread can emit of
course (which is the point of the having a Glib::Dispatcher class) -
Glib::Dispatcher::emit() does not invoke any libsigc++ functions.

Chris


_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to