Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r77239 - trunk/boost/msm/back
From: christophe.j.henry_at_[hidden]
Date: 2012-03-05 15:17:47


Author: chenry
Date: 2012-03-05 15:17:46 EST (Mon, 05 Mar 2012)
New Revision: 77239
URL: http://svn.boost.org/trac/boost/changeset/77239

Log:
bugfix (graph building only working if initial_state is a sequence)
Text files modified:
   trunk/boost/msm/back/state_machine.hpp | 4 +++-
   1 files changed, 3 insertions(+), 1 deletions(-)

Modified: trunk/boost/msm/back/state_machine.hpp
==============================================================================
--- trunk/boost/msm/back/state_machine.hpp (original)
+++ trunk/boost/msm/back/state_machine.hpp 2012-03-05 15:17:46 EST (Mon, 05 Mar 2012)
@@ -2421,7 +2421,7 @@
          {
              typedef typename build_orthogonal_regions<
                  library_sm,
- typename Derived::initial_state
+ initial_states
>::type all_regions;
              enum {region_index= find_region_index<all_regions,StateType>::value };
          };
@@ -2493,6 +2493,8 @@
              // entry on the FSM
              (static_cast<Derived*>(self))->on_entry(evt,fsm);
              int state_id = get_state_id<stt,typename EventType::active_state::wrapped_entry>::value;
+ BOOST_STATIC_ASSERT(find_region_id<typename EventType::active_state::wrapped_entry>::region_index >= 0);
+ BOOST_STATIC_ASSERT(find_region_id<typename EventType::active_state::wrapped_entry>::region_index < nr_regions::value);
              // given region starts with the entry pseudo state as active state
              self->m_states[find_region_id<typename EventType::active_state::wrapped_entry>::region_index] = state_id;
              self->internal_start(evt.m_event);


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