$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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);