diff --git a/src/dd.c b/src/dd.c index 4075076..908fa88 100644 --- a/src/dd.c +++ b/src/dd.c @@ -649,6 +649,10 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl memset(&g_ddraw->render.mode, 0, sizeof(DEVMODE)); g_ddraw->render.mode.dmSize = sizeof(DEVMODE); + g_ddraw->render.mode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT; + g_ddraw->render.mode.dmPelsWidth = g_ddraw->render.width; + g_ddraw->render.mode.dmPelsHeight = g_ddraw->render.height; + if (g_config.refresh_rate) { g_ddraw->render.mode.dmFields |= DM_DISPLAYFREQUENCY; @@ -658,15 +662,11 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl { g_config.refresh_rate = 0; - g_ddraw->render.mode.dmFields = 0; + g_ddraw->render.mode.dmFields &= ~DM_DISPLAYFREQUENCY; g_ddraw->render.mode.dmDisplayFrequency = 0; } } - g_ddraw->render.mode.dmFields |= DM_PELSWIDTH | DM_PELSHEIGHT; - g_ddraw->render.mode.dmPelsWidth = g_ddraw->render.width; - g_ddraw->render.mode.dmPelsHeight = g_ddraw->render.height; - if (!g_config.windowed) { /* Making sure the chosen resolution is valid */