dlls/user32/combo.c: Fix an issue where pressing 's' in a combobox shows the dropdown isntead of finding an entry starting with 's'.
David Quintana (gigaherz)
gigaherz at gmail.com
Mon Dec 28 13:18:43 CST 2009
Issue was caused by VK_F4 having the same exact code as a lowercase 's'.
So the code, which treated WM_CHAR and WM_KEYDOWN as the same, executed
the wrong piece of code which was meant to be ONLY for WM_KEYDOWN.
Patch is attached.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20091228/d857ed77/attachment.htm>
-------------- next part --------------
---
dlls/user32/combo.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 86b5680..7e21a3e 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -1987,9 +1987,15 @@ LRESULT ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar
COMBO_FlipListbox( lphc, FALSE, FALSE );
return 0;
+ case WM_KEYDOWN:
+ if ((wParam == VK_F4) && !(lphc->wState & CBF_EUI))
+ {
+ COMBO_FlipListbox( lphc, FALSE, FALSE );
+ return TRUE;
+ }
+ // else fall through
case WM_CHAR:
case WM_IME_CHAR:
- case WM_KEYDOWN:
{
HWND hwndTarget;
@@ -1999,11 +2005,6 @@ LRESULT ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar
CBRollUp( lphc, wParam == VK_RETURN, FALSE );
return TRUE;
}
- else if ((wParam == VK_F4) && !(lphc->wState & CBF_EUI))
- {
- COMBO_FlipListbox( lphc, FALSE, FALSE );
- return TRUE;
- }
if( lphc->wState & CBF_EDIT )
hwndTarget = lphc->hWndEdit;
--
1.6.3.3
More information about the wine-patches
mailing list