diff --git a/common/tool/tool_manager.cpp b/common/tool/tool_manager.cpp index 669b62f11c..bfc6282009 100644 --- a/common/tool/tool_manager.cpp +++ b/common/tool/tool_manager.cpp @@ -510,6 +510,9 @@ OPT TOOL_MANAGER::ScheduleWait( TOOL_BASE* aTool, void TOOL_MANAGER::dispatchInternal( const TOOL_EVENT& aEvent ) { + // Save current settings before overwriting with the dispatched tool + auto vc_settings = m_viewControls->GetSettings(); + // iterate over all registered tools for( auto it = m_activeTools.begin(); it != m_activeTools.end(); ++it ) { @@ -591,6 +594,8 @@ void TOOL_MANAGER::dispatchInternal( const TOOL_EVENT& aEvent ) if( finished ) break; // only the first tool gets the event } + + m_viewControls->ApplySettings( vc_settings ); }