From 01c5346d1ada7185710963628012a5c3dcf1ce74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Mon, 2 Oct 2023 20:10:28 +0200 Subject: [PATCH] win32: adjust WM_NCACTIVATE for better compatibility with window state We have to support all changing states, not only borderless. --- video/out/w32_common.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/video/out/w32_common.c b/video/out/w32_common.c index 931a902c76..ecb33d2479 100644 --- a/video/out/w32_common.c +++ b/video/out/w32_common.c @@ -816,7 +816,7 @@ static DWORD update_style(struct vo_w32_state *w32, DWORD style) { const DWORD NO_FRAME = WS_OVERLAPPED | WS_MINIMIZEBOX | WS_THICKFRAME; const DWORD FRAME = WS_OVERLAPPEDWINDOW; - const DWORD FULLSCREEN = NO_FRAME; + const DWORD FULLSCREEN = NO_FRAME & ~WS_THICKFRAME; style &= ~(NO_FRAME | FRAME | FULLSCREEN); style |= WS_SYSMENU; if (w32->current_fs) { @@ -1287,7 +1287,9 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, break; case WM_NCACTIVATE: // Cosmetic to remove blinking window border when initializing window - return 1; + if (!w32->opts->border) + lParam = -1; + break; case WM_NCHITTEST: // Provide sizing handles for borderless windows if ((!w32->opts->border || !w32->opts->title_bar) && !w32->current_fs) {