From 5a0456314aa78f44965ccb19626645e1b515d496 Mon Sep 17 00:00:00 2001 From: Leonard de Ruijter Date: Mon, 21 Jan 2019 17:19:39 +0100 Subject: [PATCH 1/2] Try to work around frozen keyboard input while the NVDA core is frozen --- source/winInputHook.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/winInputHook.py b/source/winInputHook.py index 9cecc75302c..abd8f8cd236 100755 --- a/source/winInputHook.py +++ b/source/winInputHook.py @@ -10,6 +10,7 @@ from ctypes import * from ctypes.wintypes import * from win32con import WM_QUIT, HC_ACTION, WH_KEYBOARD_LL, LLKHF_UP, LLKHF_EXTENDED, LLKHF_INJECTED, WH_MOUSE_LL, LLMHF_INJECTED +import watchdog class KBDLLHOOKSTRUCT(Structure): _fields_=[ @@ -35,7 +36,7 @@ class MSLLHOOKSTRUCT(Structure): @WINFUNCTYPE(c_long,c_int,WPARAM,LPARAM) def keyboardHook(code,wParam,lParam): - if code!=HC_ACTION: + if watchdog.isAttemptingRecovery or code!=HC_ACTION: return windll.user32.CallNextHookEx(0,code,wParam,lParam) kbd=KBDLLHOOKSTRUCT.from_address(lParam) if keyUpCallback and kbd.flags&LLKHF_UP: @@ -48,7 +49,7 @@ def keyboardHook(code,wParam,lParam): @WINFUNCTYPE(c_long,c_int,WPARAM,LPARAM) def mouseHook(code,wParam,lParam): - if code!=HC_ACTION: + if watchdog.isAttemptingRecovery or code!=HC_ACTION: return windll.user32.CallNextHookEx(0,code,wParam,lParam) msll=MSLLHOOKSTRUCT.from_address(lParam) if mouseCallback: From d3c6597040cdb47401592739df745ba8765dea0e Mon Sep 17 00:00:00 2001 From: Michael Curran Date: Tue, 29 Jan 2019 08:13:24 +1000 Subject: [PATCH 2/2] Update what's new. --- user_docs/en/changes.t2t | 1 + 1 file changed, 1 insertion(+) diff --git a/user_docs/en/changes.t2t b/user_docs/en/changes.t2t index e2fdb27599d..c813e5c6acb 100644 --- a/user_docs/en/changes.t2t +++ b/user_docs/en/changes.t2t @@ -39,6 +39,7 @@ What's New in NVDA - NVDA no longer fails to report the focus for some controls in the Microsoft Office 2016 ribbon when collapsed. - NVDA no longer fails to report the suggested contact when entering addresses in new messages in Outlook 2016. (#8502) - The last few cursor routing keys on 80 cell eurobraille displays no longer route the cursor to a position at or just after the start of the braille line. (#9160) +- NVDA is now less likely to freeze in such a way that the only way to escape is signing out from your current windows session. (#6291) == Changes for Developers ==