Boost logo

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