mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 09:50:52 +00:00
ddraw/tests: Avoid picking a large mode on Win10 in test_coop_level_mode_set_enum_cb.
This commit is contained in:
parent
64effe6df7
commit
fc9f3bbfa5
4 changed files with 52 additions and 8 deletions
|
@ -2874,8 +2874,19 @@ static HRESULT CALLBACK test_coop_level_mode_set_enum_cb(DDSURFACEDESC *surface_
|
||||||
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
||||||
return DDENUMRET_OK;
|
return DDENUMRET_OK;
|
||||||
|
|
||||||
param->user32_width = surface_desc->dwWidth;
|
/* The docs say the DDENUMRET_CANCEL below cancels the enumeration, so the check should be
|
||||||
param->user32_height = surface_desc->dwHeight;
|
* redundant. However, since Windows 10 this no longer works and the enumeration continues
|
||||||
|
* until all supported modes are enumerated. Win8 and earlier do cancel.
|
||||||
|
*
|
||||||
|
* Unrelatedly, some testbot machines report high res modes like 1920x1080, but suffer from
|
||||||
|
* some problems when we actually try to set them (w10pro64 and its localization siblings).
|
||||||
|
* Try to stay below the registry mode if possible. */
|
||||||
|
if (!param->user32_width || (surface_desc->dwWidth < registry_mode.dmPelsWidth
|
||||||
|
&& surface_desc->dwHeight < registry_mode.dmPelsHeight))
|
||||||
|
{
|
||||||
|
param->user32_width = surface_desc->dwWidth;
|
||||||
|
param->user32_height = surface_desc->dwHeight;
|
||||||
|
}
|
||||||
return DDENUMRET_CANCEL;
|
return DDENUMRET_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2971,8 +2971,19 @@ static HRESULT CALLBACK test_coop_level_mode_set_enum_cb(DDSURFACEDESC *surface_
|
||||||
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
||||||
return DDENUMRET_OK;
|
return DDENUMRET_OK;
|
||||||
|
|
||||||
param->user32_width = surface_desc->dwWidth;
|
/* The docs say the DDENUMRET_CANCEL below cancels the enumeration, so the check should be
|
||||||
param->user32_height = surface_desc->dwHeight;
|
* redundant. However, since Windows 10 this no longer works and the enumeration continues
|
||||||
|
* until all supported modes are enumerated. Win8 and earlier do cancel.
|
||||||
|
*
|
||||||
|
* Unrelatedly, some testbot machines report high res modes like 1920x1080, but suffer from
|
||||||
|
* some problems when we actually try to set them (w10pro64 and its localization siblings).
|
||||||
|
* Try to stay below the registry mode if possible. */
|
||||||
|
if (!param->user32_width || (surface_desc->dwWidth < registry_mode.dmPelsWidth
|
||||||
|
&& surface_desc->dwHeight < registry_mode.dmPelsHeight))
|
||||||
|
{
|
||||||
|
param->user32_width = surface_desc->dwWidth;
|
||||||
|
param->user32_height = surface_desc->dwHeight;
|
||||||
|
}
|
||||||
return DDENUMRET_CANCEL;
|
return DDENUMRET_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3209,8 +3209,19 @@ static HRESULT CALLBACK test_coop_level_mode_set_enum_cb(DDSURFACEDESC2 *surface
|
||||||
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
||||||
return DDENUMRET_OK;
|
return DDENUMRET_OK;
|
||||||
|
|
||||||
param->user32_width = surface_desc->dwWidth;
|
/* The docs say the DDENUMRET_CANCEL below cancels the enumeration, so the check should be
|
||||||
param->user32_height = surface_desc->dwHeight;
|
* redundant. However, since Windows 10 this no longer works and the enumeration continues
|
||||||
|
* until all supported modes are enumerated. Win8 and earlier do cancel.
|
||||||
|
*
|
||||||
|
* Unrelatedly, some testbot machines report high res modes like 1920x1080, but suffer from
|
||||||
|
* some problems when we actually try to set them (w10pro64 and its localization siblings).
|
||||||
|
* Try to stay below the registry mode if possible. */
|
||||||
|
if (!param->user32_width || (surface_desc->dwWidth < registry_mode.dmPelsWidth
|
||||||
|
&& surface_desc->dwHeight < registry_mode.dmPelsHeight))
|
||||||
|
{
|
||||||
|
param->user32_width = surface_desc->dwWidth;
|
||||||
|
param->user32_height = surface_desc->dwHeight;
|
||||||
|
}
|
||||||
return DDENUMRET_CANCEL;
|
return DDENUMRET_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2860,8 +2860,19 @@ static HRESULT CALLBACK test_coop_level_mode_set_enum_cb(DDSURFACEDESC2 *surface
|
||||||
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
if (surface_desc->dwWidth == param->ddraw_width && surface_desc->dwHeight == param->ddraw_height)
|
||||||
return DDENUMRET_OK;
|
return DDENUMRET_OK;
|
||||||
|
|
||||||
param->user32_width = surface_desc->dwWidth;
|
/* The docs say the DDENUMRET_CANCEL below cancels the enumeration, so the check should be
|
||||||
param->user32_height = surface_desc->dwHeight;
|
* redundant. However, since Windows 10 this no longer works and the enumeration continues
|
||||||
|
* until all supported modes are enumerated. Win8 and earlier do cancel.
|
||||||
|
*
|
||||||
|
* Unrelatedly, some testbot machines report high res modes like 1920x1080, but suffer from
|
||||||
|
* some problems when we actually try to set them (w10pro64 and its localization siblings).
|
||||||
|
* Try to stay below the registry mode if possible. */
|
||||||
|
if (!param->user32_width || (surface_desc->dwWidth < registry_mode.dmPelsWidth
|
||||||
|
&& surface_desc->dwHeight < registry_mode.dmPelsHeight))
|
||||||
|
{
|
||||||
|
param->user32_width = surface_desc->dwWidth;
|
||||||
|
param->user32_height = surface_desc->dwHeight;
|
||||||
|
}
|
||||||
return DDENUMRET_CANCEL;
|
return DDENUMRET_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue