diff -urN toto/boost_1_32_0/libs/signals/src/connection.cpp boost_1_32_0/libs/signals/src/connection.cpp --- toto/boost_1_32_0/libs/signals/src/connection.cpp 2004-07-24 22:59:30.000000000 -0400 +++ boost_1_32_0/libs/signals/src/connection.cpp 2005-02-10 10:28:44.851254504 -0500 @@ -28,6 +28,23 @@ } void + connection::block() + { + con->blocked = true ; + } + + void + connection::unblock() + { + con->blocked = false ; + } + + bool + connection::is_blocked() const { + return con->blocked ; + } + + void connection::reset(BOOST_SIGNALS_NAMESPACE::detail::basic_connection* new_con) { con.reset(new_con); diff -urN toto/boost_1_32_0/libs/signals/src/slot.cpp boost_1_32_0/libs/signals/src/slot.cpp --- toto/boost_1_32_0/libs/signals/src/slot.cpp 2004-10-29 08:44:13.000000000 -0400 +++ boost_1_32_0/libs/signals/src/slot.cpp 2005-02-10 10:26:51.486488568 -0500 @@ -24,6 +24,7 @@ // signal for the connection to be connected. con->signal = static_cast(this); con->signal_data = 0; + con->blocked = false ; con->signal_disconnect = &bound_object_destructed; }