2
0
mirror of https://github.com/boostorg/msm.git synced 2026-02-20 02:42:25 +00:00

bug fix (wrong source/target using Internal<>)

[SVN r62418]
This commit is contained in:
Christophe Henry
2010-06-03 22:20:18 +00:00
parent 0235610f38
commit 4f136cf22b

View File

@@ -685,7 +685,10 @@ private:
// if a guard condition is here, call it to check that the event is accepted
static bool check_guard(library_sm& fsm,transition_event const& evt)
{
if ( ROW::guard_call(fsm,evt,fsm,fsm,fsm.m_substate_list) )
if ( ROW::guard_call(fsm,evt,
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
fsm.m_substate_list) )
return true;
return false;
}
@@ -699,7 +702,10 @@ private:
}
// then call the action method
ROW::action_call(fsm,evt,fsm,fsm,fsm.m_substate_list);
ROW::action_call(fsm,evt,
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
fsm.m_substate_list);
return HANDLED_TRUE;
}
};
@@ -717,7 +723,10 @@ private:
static HandledEnum execute(library_sm& fsm, int region_index, int state, transition_event const& evt)
{
// then call the action method
ROW::action_call(fsm,evt,fsm,fsm,fsm.m_substate_list);
ROW::action_call(fsm,evt,
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
fsm.m_substate_list);
return HANDLED_TRUE;
}
};
@@ -734,7 +743,10 @@ private:
// if a guard condition is here, call it to check that the event is accepted
static bool check_guard(library_sm& fsm,transition_event const& evt)
{
if ( ROW::guard_call(fsm,evt,fsm,fsm,fsm.m_substate_list) )
if ( ROW::guard_call(fsm,evt,
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
::boost::fusion::at_key<StateType>(fsm.m_substate_list),
fsm.m_substate_list) )
return true;
return false;
}