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=50086 Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b069e48c13
commit
cad102465d
|
@ -333,6 +333,7 @@ static void test_ChangeDisplaySettingsEx(void)
|
||||||
DISPLAY_DEVICEA dd;
|
DISPLAY_DEVICEA dd;
|
||||||
POINTL position;
|
POINTL position;
|
||||||
DEVMODEW dmW;
|
DEVMODEW dmW;
|
||||||
|
BOOL found;
|
||||||
LONG res;
|
LONG res;
|
||||||
int i;
|
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);
|
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.x = 0;
|
||||||
position.y = 0;
|
position.y = 0;
|
||||||
for (device = 0; device < device_count; ++device)
|
for (device = 0; device < device_count; ++device)
|
||||||
|
@ -741,6 +742,42 @@ static void test_ChangeDisplaySettingsEx(void)
|
||||||
dm.dmSize = sizeof(dm);
|
dm.dmSize = sizeof(dm);
|
||||||
for (mode = 0; EnumDisplaySettingsExA(devices[device].name, mode, &dm, 0); ++mode)
|
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.dmPosition = position;
|
||||||
dm.dmFields |= DM_POSITION;
|
dm.dmFields |= DM_POSITION;
|
||||||
/* Reattach detached non-primary adapters, otherwise ChangeDisplaySettingsExA with only CDS_RESET fails */
|
/* Reattach detached non-primary adapters, otherwise ChangeDisplaySettingsExA with only CDS_RESET fails */
|
||||||
|
|
Loading…
Reference in New Issue