From 5aaf81c84ecd23800f479ae859948ebdca7fcf4f Mon Sep 17 00:00:00 2001 From: Alfred Reynolds Date: Wed, 29 Jul 2015 17:19:13 -0700 Subject: [PATCH] Fix up monitor enumeration for Windows 8.1 case. --- src/video/windows/SDL_windowsmodes.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/video/windows/SDL_windowsmodes.c b/src/video/windows/SDL_windowsmodes.c index 9f1f3d18c2b42..f5f2b8a8abcdc 100644 --- a/src/video/windows/SDL_windowsmodes.c +++ b/src/video/windows/SDL_windowsmodes.c @@ -121,11 +121,16 @@ WIN_GetDisplayMode(_THIS, LPCTSTR deviceName, DWORD index, SDL_DisplayMode * mod // so only call after those are set. if (vid_data->GetDpiForMonitor) { WIN_GetMonitorDPIData dpi_data; + RECT monitor_rect; dpi_data.vid_data = vid_data; dpi_data.mode = mode; dpi_data.mode_data = data; - EnumDisplayMonitors(hdc, NULL, WIN_GetMonitorDPI, (LPARAM)&dpi_data); + monitor_rect.left = devmode.dmPosition.x; + monitor_rect.top = devmode.dmPosition.y; + monitor_rect.right = monitor_rect.left + 1; + monitor_rect.bottom = monitor_rect.top + 1; + EnumDisplayMonitors(NULL, &monitor_rect, WIN_GetMonitorDPI, (LPARAM)&dpi_data); } else { // We don't have the Windows 8.1 routine so just // get system DPI.