Move duplicate hotkey check so it respects AS_CONTEXT.

This commit is contained in:
Jeff Young 2019-05-05 11:29:55 +01:00
parent 2d28ab7dd2
commit 9adf012c20
1 changed files with 9 additions and 7 deletions

View File

@ -206,18 +206,20 @@ void ACTION_MANAGER::UpdateHotKeys()
// are loaded after // are loaded after
if( action->GetScope() == AS_GLOBAL && m_actionHotKeys.count( hotkey ) ) if( action->GetScope() == AS_GLOBAL && m_actionHotKeys.count( hotkey ) )
{ {
// Users are free to define colliding hotkeys, but we want to know if
// our default set has any collisions.
wxFAIL_MSG( wxString::Format( "Duplicate hotkey definitions for %s: %s and %s",
KeyNameFromKeyCode( hotkey ),
actionName.first,
m_actionHotKeys[hotkey].front()->GetName() ) );
for( auto it = m_actionHotKeys[hotkey].begin(); for( auto it = m_actionHotKeys[hotkey].begin();
it != m_actionHotKeys[hotkey].end(); ) it != m_actionHotKeys[hotkey].end(); )
{ {
if( (*it)->GetScope() == AS_GLOBAL ) if( (*it)->GetScope() == AS_GLOBAL )
{
// Users are free to define colliding hotkeys, but we want to know if
// our default set has any collisions.
wxFAIL_MSG( wxString::Format( "Duplicate hotkey definitions for %s: %s and %s",
KeyNameFromKeyCode( hotkey ),
actionName.first,
m_actionHotKeys[hotkey].front()->GetName() ) );
it = m_actionHotKeys[hotkey].erase( it ); it = m_actionHotKeys[hotkey].erase( it );
}
else else
it++; it++;
} }