[PATCH] Revert "user32/combo: Set listbox popup height correctly and add tests." (resend)
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Sun Dec 10 15:36:46 CST 2017
From: Sebastian Lackner <sebastian at fds-team.de>
This partly reverts commit f7f7b89e2e9117811c91269643868c6d063db5e9.
(Tests are left inplace).
Any application that currently uses "Microsoft.Windows.Common-Controls v6" via
a Manifest has the possibility of breaking comboboxes. Using this version of
the control ensures that dropdown for comboboxes, will show multiple items,
regardless of its height in the resource.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
dlls/user32/combo.c | 8 ++++++++
dlls/user32/tests/combo.c | 20 ++++++++++----------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 2f270e5..7d15ff7 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -1044,6 +1044,14 @@ static void CBDropDown( LPHEADCOMBO lphc )
if (nHeight < nDroppedHeight - COMBO_YBORDERSIZE())
nDroppedHeight = nHeight + COMBO_YBORDERSIZE();
+
+ if (nDroppedHeight < nHeight)
+ {
+ if (nItems < 5)
+ nDroppedHeight = (nItems+1)*nIHeight;
+ else if (nDroppedHeight < 6*nIHeight)
+ nDroppedHeight = 6*nIHeight;
+ }
}
r.left = rect.left;
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c
index 0519ace..72e8777 100644
--- a/dlls/user32/tests/combo.c
+++ b/dlls/user32/tests/combo.c
@@ -718,25 +718,25 @@ static void test_listbox_size(DWORD style)
int height_combo;
BOOL todo;
} info_height[] = {
- {2, 24},
+ {2, 24, TRUE},
{2, 41, TRUE},
- {2, 42},
- {2, 50},
+ {2, 42, TRUE},
+ {2, 50, TRUE},
{2, 60},
{2, 80},
{2, 89},
{2, 90},
{2, 100},
- {10, 24},
+ {10, 24, TRUE},
{10, 41, TRUE},
- {10, 42},
- {10, 50},
- {10, 60},
- {10, 80},
+ {10, 42, TRUE},
+ {10, 50, TRUE},
+ {10, 60, TRUE},
+ {10, 80, TRUE},
{10, 89, TRUE},
- {10, 90},
- {10, 100},
+ {10, 90, TRUE},
+ {10, 100, TRUE},
};
pGetComboBoxInfo = (void *)GetProcAddress(GetModuleHandleA("user32.dll"), "GetComboBoxInfo");
--
1.9.1
More information about the wine-devel
mailing list