From b59bf8a3f40a12061157c2b9548fc06921358b44 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Wed, 3 Jan 2024 08:45:24 +0900 Subject: [PATCH] [COMCTL32][USER32] ComboBox: Don't close listbox on letter type (#6227) Based on KRosUser's combo_v3.patch. JIRA issue: CORE-16376 - Set CBF_NOROLLUP flag on (WM_CHAR or WM_IME_CHAR) and CBF_DROPPED state. --- dll/win32/comctl32/combo.c | 4 ++++ win32ss/user/user32/controls/combo.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dll/win32/comctl32/combo.c b/dll/win32/comctl32/combo.c index 62c2d4138a2..0c67b2ee729 100644 --- a/dll/win32/comctl32/combo.c +++ b/dll/win32/comctl32/combo.c @@ -1918,6 +1918,10 @@ static LRESULT CALLBACK COMBO_WindowProc( HWND hwnd, UINT message, WPARAM wParam { HWND hwndTarget; +#ifdef __REACTOS__ + if (lphc->wState & CBF_DROPPED) + lphc->wState |= CBF_NOROLLUP; +#endif if ( lphc->wState & CBF_EDIT ) hwndTarget = lphc->hWndEdit; else diff --git a/win32ss/user/user32/controls/combo.c b/win32ss/user/user32/controls/combo.c index b29d5a36efb..c118b314233 100644 --- a/win32ss/user/user32/controls/combo.c +++ b/win32ss/user/user32/controls/combo.c @@ -2017,6 +2017,10 @@ LRESULT WINAPI ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPAR { HWND hwndTarget; +#ifdef __REACTOS__ + if (lphc->wState & CBF_DROPPED) + lphc->wState |= CBF_NOROLLUP; +#endif if ( lphc->wState & CBF_EDIT ) hwndTarget = lphc->hWndEdit; else