diff options
author | Nathan Letwory <nathan@letworyinteractive.com> | 2010-12-28 16:03:38 +0300 |
---|---|---|
committer | Nathan Letwory <nathan@letworyinteractive.com> | 2010-12-28 16:03:38 +0300 |
commit | 4eb806b0a4a526069100a4fa2ddb8bed5356b397 (patch) | |
tree | a70610858e0d6dadc07a848dcfe8b6e8713c240b /intern | |
parent | 875a7288ca0ecd141fbe943fa67feb45cdd70f55 (diff) |
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.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/ghost/intern/GHOST_SystemWin32.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index 5ae30d8f948..a458d2dc504 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -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 "; |