Anybody had problems with boost::signal? The following sample code crashes on my Win2k/VC++6 system.
struct HelloWorld { void operator()() const { } }; // Signal with no arguments and a void return value boost::signal0<void> sig; // Connect a HelloWorld slot HelloWorld hello; sig.connect(hello); // Call all of the slots sig(); It crashes when find_if() is calling the functor. For some reason the functor is bad. template<typename IteratorAdaptor> void increment(IteratorAdaptor& x) { ++x.base(); x.base() = std::find_if(x.base(), x.policies().end, std::not1(is_disconnected())); cache.reset(); } *** *** The call stack is: *** BOOST_SIGNALS! 00231007() std::unary_negate<boost::signals::detail::is_disconnected>::operator()(const std::pair<boost::any const ,boost::signals::detail::connection_slot_pair> & {...}) line 126 + 41 bytes std::find_if(std::_Tree<boost::any,std::pair<boost::any const ,boost::signals::detail::connection_slot_pair>,std::multimap<boost::any,boost::signals::detail::connection_slot_pair,boost::function2<bool,boost::any,boost::any,int>,std::allocator<boost::signals::de347d932 {...}, ...) line 50 + 17 bytes boost::signals::detail::slot_call_policies<boost::signals::detail::call_bound0<void>::caller<boost::function0<void,int> >,std::_Tree<boost::any,std::pair<boost::any const ,boost::signals::detail::connection_slot_pair>,std::multimap<boost::any,boosaaa94384() line 73 + 50 bytes boost::iterator_adaptor<std::_Tree<boost::any,std::pair<boost::any const ,boost::signals::detail::connection_slot_pair>,std::multimap<boost::any,boost::signals::detail::connection_slot_pair,boost::function2<bool,boost::any,boost::any,int>,std::alldc56f588() line 901 boost::iterator_adaptor<std::_Tree<boost::any,std::pair<boost::any const ,boost::signals::detail::connection_slot_pair>,std::multimap<boost::any,boost::signals::detail::connection_slot_pair,boost::function2<bool,boost::any,boost::any,int>,std::alldc56f588(int 0) line 904 + 84 bytes boost::last_value<void>::operator()() line 49 + 14 bytes boost::signal0<void,boost::last_value<void>,int,std::less<int>,boost::function0<void,int> >::operator()() line 305 + 177 bytes Eugene __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost