Fix [#24630] alt+shift+LMB dragging does not work

Reported by Nils Austa

There was double handling of modifier keys. With my autumn work on the modifier keys I had moved state checks for
modifier keys into convertKey(), but left the call to handleModifierKeys. That caused problems with proper
modifier key handling in the entire key handling code of GHOST.
This commit is contained in:
Nathan Letwory 2010-12-28 13:03:38 +00:00
parent 875a7288ca
commit 4eb806b0a4

@ -488,11 +488,6 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L
system->retrieveModifierKeys(oldModifiers);
system->getModifierKeys(newModifiers);
// check if modifier keys different from this event have changed and trigger those
// This can happen when some action takes a long time (Blender not responding), resulting
// in dropped events.
system->handleModifierKeys(window, wParam, lParam, oldModifiers, newModifiers);
//std::cout << wParam << " " << system->m_curKeyStatus[wParam] << " shift pressed: " << system->shiftPressed() << std::endl;
if ((wParam >= '0') && (wParam <= '9')) {
@ -777,12 +772,13 @@ LRESULT CALLBACK GHOST_SystemWin32::s_llKeyboardProc(int nCode, WPARAM wParam, L
KBDLLHOOKSTRUCT &keyb = *(PKBDLLHOOKSTRUCT)(lParam);
system->m_prevKeyStatus[keyb.vkCode] = system->m_curKeyStatus[keyb.vkCode];
//std::cout << "ll: " << keyb.vkCode << " " << down << " ";
//std::cout << "ll: " << keyb.vkCode << " " << down << " ||| ";
if(keyb.flags) {
if((keyb.flags & LLKHF_EXTENDED) == LLKHF_EXTENDED) {
//std::cout << "extended ";
}
if((keyb.flags & LLKHF_ALTDOWN) == LLKHF_ALTDOWN) {
//std::cout << "alt ";
}
if((keyb.flags & LLKHF_INJECTED)== LLKHF_INJECTED) {
//std::cout << "injected ";