From 6e5fde7ebb40532cbe9b81dcd3cee6a738969f65 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Tue, 26 Dec 2023 21:49:04 +0900 Subject: [PATCH] [COMCTL32] Property Sheet: Use PROPSHEET_IsDialogMessage in message loop (#6226) Fix Ctrl+Tab and Shift+Ctrl+Tab key combination action in property sheet. JIRA issue: CORE-17941 Use PROPSHEET_IsDialogMessage in the message loop of PropertySheetA/W function, instead of IsDialogMessage. --- dll/win32/comctl32/propsheet.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dll/win32/comctl32/propsheet.c b/dll/win32/comctl32/propsheet.c index e58fd467a3d..fa348c249f5 100644 --- a/dll/win32/comctl32/propsheet.c +++ b/dll/win32/comctl32/propsheet.c @@ -2787,6 +2787,10 @@ static void PROPSHEET_CleanUp(HWND hwndDlg) GlobalFree(psInfo); } +#ifdef __REACTOS__ +static BOOL PROPSHEET_IsDialogMessage(HWND hwnd, LPMSG lpMsg); +#endif + static INT do_loop(const PropSheetInfo *psInfo) { MSG msg; @@ -2799,7 +2803,11 @@ static INT do_loop(const PropSheetInfo *psInfo) if(ret == -1) break; +#ifdef __REACTOS__ + if (!PROPSHEET_IsDialogMessage(hwnd, &msg)) +#else if(!IsDialogMessageW(hwnd, &msg)) +#endif { TranslateMessage(&msg); DispatchMessageW(&msg);