mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
dwmapi: Fallback to 60Hz if the display frequency is invalid in get_display_frequency().
DwmGetCompositionTimingInfo() may throw a zero division exception if the display reports a 0Hz frequency, which can happen when testing under Xephyr without -fakescreenfps option.
This commit is contained in:
parent
2fde0a3f5c
commit
6a57ed804a
|
@ -213,12 +213,16 @@ HRESULT WINAPI DwmRegisterThumbnail(HWND dest, HWND src, PHTHUMBNAIL thumbnail_i
|
||||||
|
|
||||||
static int get_display_frequency(void)
|
static int get_display_frequency(void)
|
||||||
{
|
{
|
||||||
DEVMODEA mode;
|
DEVMODEW mode;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
memset(&mode, 0, sizeof(mode));
|
memset(&mode, 0, sizeof(mode));
|
||||||
mode.dmSize = sizeof(mode);
|
mode.dmSize = sizeof(mode);
|
||||||
if (EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &mode))
|
ret = EnumDisplaySettingsExW(NULL, ENUM_CURRENT_SETTINGS, &mode, 0);
|
||||||
|
if (ret && mode.dmFields & DM_DISPLAYFREQUENCY && mode.dmDisplayFrequency)
|
||||||
|
{
|
||||||
return mode.dmDisplayFrequency;
|
return mode.dmDisplayFrequency;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WARN("Failed to query display frequency, returning a fallback value.\n");
|
WARN("Failed to query display frequency, returning a fallback value.\n");
|
||||||
|
|
Loading…
Reference in a new issue