Commit cad10246 authored by Zhiyi Zhang's avatar Zhiyi Zhang Committed by Alexandre Julliard

user32/tests: Do not change adapters to every available modes.

This reduce the time to run the monitor test from 6 minutes to 25 seconds. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50086Signed-off-by: 's avatarZhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent b069e48c
......@@ -333,6 +333,7 @@ static void test_ChangeDisplaySettingsEx(void)
DISPLAY_DEVICEA dd;
POINTL position;
DEVMODEW dmW;
BOOL found;
LONG res;
int i;
......@@ -732,7 +733,7 @@ static void test_ChangeDisplaySettingsEx(void)
ok(count == old_count - 1, "Expect monitor count %d, got %d\n", old_count - 1, count);
}
/* Test changing each adapter to every available mode */
/* Test changing each adapter to different width, height, frequency and depth */
position.x = 0;
position.y = 0;
for (device = 0; device < device_count; ++device)
......@@ -741,6 +742,42 @@ static void test_ChangeDisplaySettingsEx(void)
dm.dmSize = sizeof(dm);
for (mode = 0; EnumDisplaySettingsExA(devices[device].name, mode, &dm, 0); ++mode)
{
if (mode == 0)
{
dm2 = dm;
}
else
{
found = FALSE;
if (dm2.dmPelsWidth && dm.dmPelsWidth != dm2.dmPelsWidth)
{
dm2.dmPelsWidth = 0;
found = TRUE;
}
if (dm2.dmPelsHeight && dm.dmPelsHeight != dm2.dmPelsHeight)
{
dm2.dmPelsHeight = 0;
found = TRUE;
}
if (dm2.dmDisplayFrequency && dm.dmDisplayFrequency != dm2.dmDisplayFrequency)
{
dm2.dmDisplayFrequency = 0;
found = TRUE;
}
if (dm2.dmBitsPerPel && dm.dmBitsPerPel != dm2.dmBitsPerPel)
{
dm2.dmBitsPerPel = 0;
found = TRUE;
}
if (!dm2.dmPelsWidth && !dm2.dmPelsHeight && !dm2.dmDisplayFrequency
&& !dm2.dmBitsPerPel)
break;
if (!found)
continue;
}
dm.dmPosition = position;
dm.dmFields |= DM_POSITION;
/* Reattach detached non-primary adapters, otherwise ChangeDisplaySettingsExA with only CDS_RESET fails */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment