Avoid crashed in eeschema after selecting/deselecting and reselecting highlight tool or delete tool
It was due to use of items in std::deque without testing if these items exist.
This commit is contained in:
parent
da645c5d16
commit
e800bc5ffe
|
@ -452,10 +452,10 @@ void EDA_DRAW_FRAME::PushTool( const std::string& actionName )
|
||||||
|
|
||||||
void EDA_DRAW_FRAME::PopTool()
|
void EDA_DRAW_FRAME::PopTool()
|
||||||
{
|
{
|
||||||
m_toolStack.pop_back();
|
if( m_toolStack.size() > 1 )
|
||||||
|
|
||||||
if( !m_toolStack.empty() )
|
|
||||||
{
|
{
|
||||||
|
m_toolStack.pop_back();
|
||||||
|
|
||||||
TOOL_ACTION* action = m_toolManager->GetActionManager()->FindAction( m_toolStack.back() );
|
TOOL_ACTION* action = m_toolManager->GetActionManager()->FindAction( m_toolStack.back() );
|
||||||
|
|
||||||
if( action )
|
if( action )
|
||||||
|
|
|
@ -207,12 +207,12 @@ int ACTION_MANAGER::processHotKey( TOOL_ACTION* aAction, std::map<std::string, i
|
||||||
std::map<std::string, int> aHotKeyMap )
|
std::map<std::string, int> aHotKeyMap )
|
||||||
{
|
{
|
||||||
aAction->m_hotKey = aAction->m_defaultHotKey;
|
aAction->m_hotKey = aAction->m_defaultHotKey;
|
||||||
|
|
||||||
if( !aAction->m_legacyName.empty() && aLegacyMap.count( aAction->m_legacyName ) )
|
if( !aAction->m_legacyName.empty() && aLegacyMap.count( aAction->m_legacyName ) )
|
||||||
aAction->SetHotKey( aLegacyMap[ aAction->m_legacyName ] );
|
aAction->SetHotKey( aLegacyMap[ aAction->m_legacyName ] );
|
||||||
|
|
||||||
if( aHotKeyMap.count( aAction->m_name ) )
|
if( aHotKeyMap.count( aAction->m_name ) )
|
||||||
aAction->SetHotKey( aHotKeyMap[ aAction->m_name ] );
|
aAction->SetHotKey( aHotKeyMap[ aAction->m_name ] );
|
||||||
|
|
||||||
return aAction->m_hotKey;
|
return aAction->m_hotKey;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue