From 4eb806b0a4a526069100a4fa2ddb8bed5356b397 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 28 Dec 2010 13:03:38 +0000 Subject: 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. --- intern/ghost/intern/GHOST_SystemWin32.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'intern') 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 "; -- cgit v1.2.3