|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r62418 - trunk/boost/msm/back
From: christophe.j.henry_at_[hidden]
Date: 2010-06-03 18:20:19
Author: chenry
Date: 2010-06-03 18:20:18 EDT (Thu, 03 Jun 2010)
New Revision: 62418
URL: http://svn.boost.org/trac/boost/changeset/62418
Log:
bug fix (wrong source/target using Internal<>)
Text files modified:
trunk/boost/msm/back/state_machine.hpp | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
Modified: trunk/boost/msm/back/state_machine.hpp
==============================================================================
--- trunk/boost/msm/back/state_machine.hpp (original)
+++ trunk/boost/msm/back/state_machine.hpp 2010-06-03 18:20:18 EDT (Thu, 03 Jun 2010)
@@ -685,7 +685,10 @@
// 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 @@
}
// 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 @@
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 @@
// 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;
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk