
I'm not Boost.Signal expert, but I think that is possible. You need to group your slots so that you can impose an order. Thus, the enabler would be in the group that sorts first. Then, your signal should be defined with a Combiner that won't call further signals if any returns false. That means that your enabler will always be called first and, if it returns true, the rest of the slots will be invoked.
Fine with me. However, what I want is to halt processing from any event handler. So, if I have 10 event handlers for an event, and handler 5 says stop, I won't call the rest. While that may or may not be possible with a boost::signal, I would prefer a simple (ordered) array of functions to call. Best, John -- John Torjo Freelancer -- john@torjo.com Contributing editor, C/C++ Users Journal -- "Win32 GUI Generics" -- generics & GUI do mix, after all -- http://www.torjo.com/win32gui/ -- v1.3beta released - check out splitter/simple_viewer, a File Explorer/Viewer all in about 200 lines of code! Professional Logging Solution for FREE -- http://www.torjo.com/code/logging.zip (logging - C++) -- http://www.torjo.com/logview/ (viewing/filtering - Win32) -- http://www.torjo.com/logbreak/ (debugging - Win32)