From 3e342246d46b3c384a8094077ae4b54ad5df39e9 Mon Sep 17 00:00:00 2001 From: Mohammad Amin Mollazadeh Date: Sun, 4 May 2025 18:29:54 +0330 Subject: [PATCH] [WINESYNC][COMCTL32] Fix large height for ComboBox when CBS_NOINTEGRALHEIGHT is specified (#7940) CORE-19833 wine commit id https://github.com/wine-mirror/wine/commit/d551564f1b626b508583149be515b2111ec020b0 by Orin Varley comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height. When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on), and when a large size is specified but only a small number of items in the list, the height of the combobox should be set by the number of items rather than the size specified to avoid empty lines. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360 --- dll/win32/comctl32/combo.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dll/win32/comctl32/combo.c b/dll/win32/comctl32/combo.c index e083a58034f..f9b0e0837a1 100644 --- a/dll/win32/comctl32/combo.c +++ b/dll/win32/comctl32/combo.c @@ -977,7 +977,11 @@ static void CBDropDown( LPHEADCOMBO lphc ) if (lphc->dwStyle & CBS_NOINTEGRALHEIGHT) { +#ifdef __REACTOS__ + nDroppedHeight = min(nItems * nIHeight + COMBO_YBORDERSIZE(), nDroppedHeight - 1); +#else nDroppedHeight -= 1; +#endif } else {