2941: Fix ctrl+shift+d moving tee (fixes #2930) r=heinrich5991 a=def-

@plsplsplslol ok from your side?

Co-authored-by: def <dennis@felsin9.de>
This commit is contained in:
bors[bot] 2020-10-02 17:21:39 +00:00 committed by GitHub
commit 663d60fa9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -54,7 +54,7 @@ void CBinds::Bind(int KeyID, const char *pStr, bool FreeOnly, int Modifier)
// skip modifiers for +xxx binds
if(pStr[0] == '+')
Modifier = 0;
Modifier = 1 << MODIFIER_NONE;
char aBuf[256];
if(!pStr[0])
@ -130,7 +130,6 @@ bool CBinds::OnInput(IInput::CEvent e)
if(!Mask)
Mask = 1 << MODIFIER_NONE;
bool ret = false;
for(int Mod = 1; Mod < MODIFIER_COMBINATION_COUNT; Mod++)
{
if(m_aapKeyBindings[Mod][e.m_Key] && (Mask == Mod))
@ -139,20 +138,11 @@ bool CBinds::OnInput(IInput::CEvent e)
Console()->ExecuteLineStroked(1, m_aapKeyBindings[Mod][e.m_Key]);
if(e.m_Flags & IInput::FLAG_RELEASE)
Console()->ExecuteLineStroked(0, m_aapKeyBindings[Mod][e.m_Key]);
ret = true;
return true;
}
}
if(m_aapKeyBindings[0][e.m_Key] && (!ret || m_aapKeyBindings[0][e.m_Key][0] == '+')) // always trigger +xxx binds despite any modifier
{
if(e.m_Flags & IInput::FLAG_PRESS)
Console()->ExecuteLineStroked(1, m_aapKeyBindings[0][e.m_Key]);
if(e.m_Flags & IInput::FLAG_RELEASE)
Console()->ExecuteLineStroked(0, m_aapKeyBindings[0][e.m_Key]);
ret = true;
}
return ret;
return false;
}
void CBinds::UnbindAll()