https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b59bf8a3f40a12061157c…
commit b59bf8a3f40a12061157c2b9548fc06921358b44
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Wed Jan 3 08:45:24 2024 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Wed Jan 3 08:45:24 2024 +0900
[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