From 01dfcb7c879831b5cf2614e35f9f610dfadb13a0 Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Thu, 2 Jan 2020 09:35:49 +0100 Subject: [PATCH] Fix removal of frame decorations on Windows (Bug#38705) * src/w32fns.c (w32_set_undecorated): Actualize f->output_data.w32->dwStyle for subsequent calls of AdjustWindowRect (Bug#38705). * src/w32term.h (struct w32_output): Add comment for dwstyle slot. --- src/w32fns.c | 3 +++ src/w32term.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/w32fns.c b/src/w32fns.c index 75e0d531a23..61e22e57009 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -2146,6 +2146,9 @@ w32_set_undecorated (struct frame *f, Lisp_Object new_value, Lisp_Object old_val | SWP_FRAMECHANGED); FRAME_UNDECORATED (f) = false; } + + f->output_data.w32->dwStyle = GetWindowLong (hwnd, GWL_STYLE); + unblock_input (); } diff --git a/src/w32term.h b/src/w32term.h index 5a54f542365..737764b8942 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -371,6 +371,10 @@ struct w32_output /* Non-hourglass cursor that is currently active. */ HCURSOR current_cursor; + /* The window style for this frame. Set up when the frame is + created and updated when adding/removing decorations in + w32_set_undecorated. Used by w32_set_window_size to adjust the + frame's window rectangle. */ DWORD dwStyle; /* This is the Emacs structure for the display this frame is on. */ -- 2.39.2