|
From: Frank M. H. <fm...@us...> - 2007-02-28 19:30:21
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals/detail In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3517/boost/thread_safe_signals/detail Modified Files: signal_template.hpp slot_template.hpp Log Message: Fixed signal::disconnect() with a slot function argument, which was broken by recent changes to slot class. Index: signal_template.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals/detail/signal_template.hpp,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- signal_template.hpp 28 Feb 2007 17:08:48 -0000 1.37 +++ signal_template.hpp 28 Feb 2007 19:30:18 -0000 1.38 @@ -374,7 +374,7 @@ it != local_state->connection_bodies.end(); ++it) { typename ConnectionBody<group_key_type, slot_function_type, ThreadingModel>::mutex_type::scoped_lock lock((*it)->mutex); - if((*it)->slot == slot) + if((*it)->slot.slot_function() == slot) { (*it)->nolock_disconnect(); } Index: slot_template.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals/detail/slot_template.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- slot_template.hpp 28 Feb 2007 17:06:53 -0000 1.4 +++ slot_template.hpp 28 Feb 2007 19:30:18 -0000 1.5 @@ -29,6 +29,7 @@ template<BOOST_SIGNAL_PREFIXED_SIGNATURE_TEMPLATE_DECL(BOOST_SIGNALS_NUM_ARGS, Other), typename OtherSlotFunction> friend class BOOST_SLOT_CLASS_NAME(BOOST_SIGNALS_NUM_ARGS); + typedef SlotFunction slot_function_type; typedef R result_type; // typedef Tn argn_type; #define BOOST_SIGNAL_MISC_STATEMENT(z, n, data) \ @@ -98,8 +99,8 @@ track_signal(signal); return *this; } + const slot_function_type& slot_function() const {return _slot_function;} private: - SlotFunction _slot_function; }; namespace signalslib |