1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +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:
Zhiyi Zhang 2022-11-17 15:46:52 +08:00 committed by Alexandre Julliard
parent 2fde0a3f5c
commit 6a57ed804a

View File

@ -213,12 +213,16 @@ HRESULT WINAPI DwmRegisterThumbnail(HWND dest, HWND src, PHTHUMBNAIL thumbnail_i
static int get_display_frequency(void)
{
DEVMODEA mode;
DEVMODEW mode;
BOOL ret;
memset(&mode, 0, 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;
}
else
{
WARN("Failed to query display frequency, returning a fallback value.\n");