diff --git a/common/tool/tool_manager.cpp b/common/tool/tool_manager.cpp index e68c1285a2..4bf9cb4487 100644 --- a/common/tool/tool_manager.cpp +++ b/common/tool/tool_manager.cpp @@ -358,6 +358,9 @@ bool TOOL_MANAGER::runTool( TOOL_BASE* aTool ) TOOL_ID id = aTool->GetId(); + if( aTool->GetType() == INTERACTIVE ) + static_cast( aTool )->resetTransitions(); + // If the tool is already active, bring it to the top of the active tools stack if( isActive( aTool ) ) { @@ -368,9 +371,6 @@ bool TOOL_MANAGER::runTool( TOOL_BASE* aTool ) aTool->Reset( TOOL_INTERACTIVE::RUN ); - if( aTool->GetType() == INTERACTIVE ) - static_cast( aTool )->resetTransitions(); - // Add the tool on the front of the processing queue (it gets events first) m_activeTools.push_front( id );