
Hi, If you connect (disconnect) a new slot to a signal inside of a slot of the same signal, what happens? - are the slots called which where connected before the signal was called, - or is new slot be called this time, too, - or is the behaviour undefined?
I didn't find anything on this subject in the manuals. Even if the behaviour is undefined, that should be mentioned.
Doesn't the following answer the questions: Sorry. I didn't look into the "disconnect" section.
It answers a part of the questions. It doesn't describe what happens if you connect a slot. Is the slot not called this time (that would be simplest)? Or is it called, but only if the slot call group of the slot isn't "done" already?
http://www.boost.org/doc/html/signals/tutorial.html#id2732772
When can disconnections occur? (Intermediate) --------------------------------------------- ...
These events can occur at any time without disrupting a signal's calling sequence. If a signal/slot connection is disconnected at any time during a signal's calling sequence, the calling sequence will still continue but will not invoke the disconnected slot. Additionally, a signal may be destroyed while it is in a calling sequence, and which case it will complete its slot call sequence but may not be accessed directly.
Signals may be invoked recursively (e.g., a signal A calls a slot B that invokes signal A...). The disconnection behavior does not change in the recursive case, except that the slot calling sequence includes slot calls for all nested invocations of the signal.
Jeff Flinn
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users