WM_DPICHANGED: remove some dead code, add comment
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index f6f42f3..6daaf45 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -1501,7 +1501,6 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
const int newDPI = HIWORD(wParam);
RECT* const suggestedRect = (RECT*)lParam;
- SDL_bool setExpectedResize = SDL_FALSE;
int w, h;
#ifdef HIGHDPI_DEBUG
@@ -1530,7 +1529,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
#ifdef HIGHDPI_DEBUG
SDL_Log("WM_DPICHANGED: using suggestedRect");
#endif
- } else {
+ } else {
+ /* permonitor and earlier DPI awareness: calculate the new frame w/h such that
+ the client area size is maintained. */
const DWORD style = GetWindowLong(hwnd, GWL_STYLE);
const BOOL menu = (style & WS_CHILDWINDOW) ? FALSE : (GetMenu(hwnd) != NULL);
@@ -1552,10 +1553,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
suggestedRect->left, suggestedRect->top, w, h);
#endif
- if (!data->expected_resize) {
- setExpectedResize = SDL_TRUE;
- data->expected_resize = SDL_TRUE;
- }
+ data->expected_resize = SDL_TRUE;
SetWindowPos(hwnd,
NULL,
suggestedRect->left,
@@ -1563,13 +1561,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
w,
h,
SWP_NOZORDER | SWP_NOACTIVATE);
- if (setExpectedResize) {
- /* Only unset data->expected_resize if we set it above.
- WM_DPICHANGED can happen inside a block of code that sets data->expected_resize,
- e.g. WIN_SetWindowPositionInternal.
- */
- data->expected_resize = SDL_FALSE;
- }
+ data->expected_resize = SDL_FALSE;
return 0;
}
break;