[PATCH 2/2] user32/combo: Fix listbox_size calculation

Fabian Maurer dark.shadow4 at web.de
Fri Feb 22 12:22:42 CST 2019


Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
 dlls/user32/combo.c       |  4 ++++
 dlls/user32/tests/combo.c | 10 +++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 59c2e6484c..10fbed6a7f 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -1025,6 +1025,10 @@ static void CBDropDown( LPHEADCOMBO lphc )

       nIHeight = (int)SendMessageW(lphc->hWndLBox, LB_GETITEMHEIGHT, 0, 0);

+      nDroppedHeight--;
+      if (nDroppedHeight < nIHeight + COMBO_YBORDERSIZE())
+         nDroppedHeight = COMBO_YBORDERSIZE();
+
       nHeight = nIHeight*nItems;

       if (nHeight < nDroppedHeight - COMBO_YBORDERSIZE())
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c
index 12e4ed5862..ed945180bc 100644
--- a/dlls/user32/tests/combo.c
+++ b/dlls/user32/tests/combo.c
@@ -689,7 +689,7 @@ static void test_listbox_size(DWORD style)
         BOOL todo;
     } info_height[] = {
         {2, 24, FALSE},
-        {2, 41, TRUE},
+        {2, 41, FALSE},
         {2, 42, FALSE},
         {2, 50, FALSE},
         {2, 60, FALSE},
@@ -697,17 +697,17 @@ static void test_listbox_size(DWORD style)
         {2, 89, FALSE},
         {2, 90, FALSE},
         {2, 100, FALSE},
-        {3, 73, TRUE},
+        {3, 73, FALSE},

         {10, 24, FALSE},
-        {10, 40, TRUE},
-        {10, 41, TRUE},
+        {10, 40, FALSE},
+        {10, 41, FALSE},
         {10, 42, FALSE},
         {10, 50, FALSE},
         {10, 60, FALSE},
         {10, 80, FALSE},
         {10, 88, FALSE},
-        {10, 89, TRUE},
+        {10, 89, FALSE},
         {10, 90, FALSE},
         {10, 100, FALSE},
     };
--
2.20.1




More information about the wine-devel mailing list