
Hi, Christophe On Thu, 21 Jul 2011 22:34:15 +0200 "Christophe Henry" <christophe.j.henry@googlemail.com> wrote:
Hello,
When I was trying to answer an another thread, I encountered strange behavior. (Re: [boost] [msm]exit pseudo state and event)
See 18_InternalTransitionTableTest.cpp. (attached file)
I believe that internal_transition_table should work correctly without transition_table.
Here is internal_transition_table.
// Internal Transition table struct internal_transition_table : mpl::vector< // Event Action Guard msmf::Internal < Event1, Action1_1 ,Guard1_1 >
{};
But Event1 isn't dispatched. I don't understand why.
When I add transition_table that includes the Event1, internal_transition_table works correctly.
#if 1 // Why is it needed? // Transition table struct transition_table:mpl::vector< // Start Event Next Action Guard msmf::Row < State1_1, Event1, State1_2, msmf::none, msmf::none > // OK // msmf::Row < State1_1, Event2, State1_2, msmf::none, msmf::none
// NG {}; #endif
But if transition_table don't have Event1, internal_transition_table doesn't work correctly.
msmf::Row < State1_1, Event2, State1_2, msmf::none, msmf::none > // NG
I suspect it is bug. How do you think?
Thanks, Takatoshi
Hi Takatoshi,
you're right, it's a bug. I just fixed it in the trunk (rev. 73289).
I double checked it. It works correctly. Thanks for fixing bug quickly.
Thanks for the report, Christophe
PS: I'm in vacations from next week for 4 weeks, so I might be less responsive as I will have a pretty bad connection.
Enjoy your vacation! :) Regards, Takatoshi