Signed-off-by: Fabian Maurer dark.shadow4@web.de --- dlls/user32/tests/combo.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/tests/combo.c b/dlls/user32/tests/combo.c index 0d3b1b170f..12e4ed5862 100644 --- a/dlls/user32/tests/combo.c +++ b/dlls/user32/tests/combo.c @@ -692,18 +692,21 @@ static void test_listbox_size(DWORD style) {2, 41, TRUE}, {2, 42, FALSE}, {2, 50, FALSE}, - {2, 60}, - {2, 80}, - {2, 89}, - {2, 90}, - {2, 100}, + {2, 60, FALSE}, + {2, 80, FALSE}, + {2, 89, FALSE}, + {2, 90, FALSE}, + {2, 100, FALSE}, + {3, 73, TRUE},
{10, 24, FALSE}, + {10, 40, TRUE}, {10, 41, TRUE}, {10, 42, FALSE}, {10, 50, FALSE}, {10, 60, FALSE}, {10, 80, FALSE}, + {10, 88, FALSE}, {10, 89, TRUE}, {10, 90, FALSE}, {10, 100, FALSE}, -- 2.20.1
Signed-off-by: Fabian Maurer dark.shadow4@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
On 2/22/19 9:22 PM, Fabian Maurer wrote:
Signed-off-by: Fabian Maurer dark.shadow4@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())
This doesn't look good. What does decrement by 1 mean in this context, and why it's exactly 1?
Right after this block there is another fixup condition for nDroppedHeight, could it be merged?
Does the same apply to comctl32 copy?
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
On Freitag, 22. Februar 2019 19:39:09 CET Nikolay Sivov wrote:
Right after this block there is another fixup condition for nDroppedHeight, could it be merged?
What exactly do you mean? We have one fixup for too big, and this patch adds one for too small.
This doesn't look good. What does decrement by 1 mean in this context, and why
it's exactly 1?
I don't know why it's exactly 1, but currently wine is off by one pixel. How do you suggest we deal with that?
Regards, Fabian Maurer
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=48141
Your paranoid android.
=== debian9 (32 bit report) ===
user32: msg.c:8713: Test failed: WaitForSingleObject failed 102 msg.c:8719: Test failed: destroy child on thread exit: 0: the msg 0x0082 was expected, but got msg 0x000f instead msg.c:8719: Test failed: destroy child on thread exit: 1: the msg 0x000f was expected, but got msg 0x0014 instead msg.c:8719: Test failed: destroy child on thread exit: 2: the msg sequence is not complete: expected 0014 - actual 0000
Please consider this patchset obsolete, I'm currently reworking it - Splitting it in two and trying to get better tests / better implementation of the changes.
Regards, Fabian Maurer
Please consider this patchset obsolete, I'm currently reworking it - Splitting it in two and trying to get better tests / better implementation of the changes.
Regards, Fabian Maurer
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=48140
Your paranoid android.
=== debian9 (32 bit Japanese:Japan report) ===
user32: combo.c:768: Test succeeded inside todo block: Test 9, expected list height to be 36, got 36 combo.c:768: Test failed: Test 13, expected list height to be 0, got 15 combo.c:768: Test succeeded inside todo block: Test 18, expected list height to be 54, got 54