From 6b829c9cde442cad310e93de1bb2b707bc0990e9 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 21 Feb 2016 11:50:37 +0100 Subject: [PATCH] Safer window resize on Windows - don't updating the backbuffer size until stopped dragging. Cherry-picked from the Vulkan branch. --- Windows/MainWindow.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp index d0f6ee8581..2dd40ce64e 100644 --- a/Windows/MainWindow.cpp +++ b/Windows/MainWindow.cpp @@ -118,6 +118,7 @@ namespace MainWindow static bool hideCursor = false; static int g_WindowState; static bool g_IgnoreWM_SIZE = false; + static bool inResizeMove = false; // gross hack bool noFocusPause = false; // TOGGLE_PAUSE state to override pause on lost focus @@ -701,13 +702,22 @@ namespace MainWindow SavePosition(); break; + case WM_ENTERSIZEMOVE: + inResizeMove = true; + break; + + case WM_EXITSIZEMOVE: + inResizeMove = false; + HandleSizeChange(SIZE_RESTORED); + break; + case WM_SIZE: switch (wParam) { case SIZE_RESTORED: case SIZE_MAXIMIZED: if (g_IgnoreWM_SIZE) { return DefWindowProc(hWnd, message, wParam, lParam); - } else { + } else if (!inResizeMove) { HandleSizeChange(wParam); } break;