From 9d6a9909c3fcffce928cd836ff20ad0c66f1340c Mon Sep 17 00:00:00 2001 From: Francois Gouget Date: Mon, 27 Feb 2023 10:47:19 +0100 Subject: [PATCH] gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909. SetDeviceGammaRamp() checks the specified ramp to prevent applications from setting malicious gamma ramps (e.g. hiding text by remapping its color to match the background). But Windows 10 1909 has fewer checks than later Windows 10 versions. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54593 --- dlls/gdi32/tests/dc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/gdi32/tests/dc.c b/dlls/gdi32/tests/dc.c index 72d0f76f748..8ccadbd6ff6 100644 --- a/dlls/gdi32/tests/dc.c +++ b/dlls/gdi32/tests/dc.c @@ -1268,12 +1268,14 @@ static void test_gamma(void) /* set one color ramp to zeros */ memset(ramp[0], 0, sizeof(ramp[0])); ret = SetDeviceGammaRamp(hdc, &ramp); - ok(!ret, "SetDeviceGammaRamp(zeroes) succeeded\n"); + ok(!ret || broken(ret /* win1909 */), + "SetDeviceGammaRamp(zeroes) succeeded\n"); /* set one color ramp to a flat straight rising line */ for (i = 0; i < 256; i++) ramp[0][i] = i; ret = SetDeviceGammaRamp(hdc, &ramp); - todo_wine ok(!ret, "SetDeviceGammaRamp(low) succeeded\n"); + todo_wine ok(!ret || broken(ret /* win1909 */), + "SetDeviceGammaRamp(low) succeeded\n"); /* set one color ramp to a steep straight rising line */ for (i = 0; i < 256; i++) ramp[0][i] = i * 256; @@ -1285,7 +1287,8 @@ static void test_gamma(void) ramp[0][1] = 0x7FFF; for (i = 2; i < 256; i++) ramp[0][i] = 0xFFFF; ret = SetDeviceGammaRamp(hdc, &ramp); - ok(!ret, "SetDeviceGammaRam(bright) succeeded\n"); + ok(!ret || broken(ret /* win1909 */), + "SetDeviceGammaRam(bright) succeeded\n"); /* try ramps which are not uniform */ for (i = 0; i < 256; i++) ramp[0][i] = 512 * i; /* wraps midway */