From 03ae07291e85fd353595806c3ce1ad3315c47649 Mon Sep 17 00:00:00 2001 From: Aaron Jensen Date: Sat, 16 Nov 2024 20:54:59 -0800 Subject: Fix NS non-native fullscreen on initial frame load (bug#59790) * src/nsterm.m ([EmacsView toggleFullScreen:]): Reset fs_is_native --- src/nsterm.m | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/nsterm.m b/src/nsterm.m index 97b829d0e4c..e311e3654e8 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -8522,6 +8522,11 @@ ns_in_echo_area (void) NSTRACE ("[EmacsView toggleFullScreen:]"); + /* Reset fs_is_native to value of ns-use-native-full-screen if not + fullscreen already */ + if (fs_state != FULLSCREEN_BOTH) + fs_is_native = ns_use_native_fullscreen; + if (fs_is_native) { #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 -- cgit v1.2.1 From bda0bce9e4313c496fcfdcf4b6abeba3f68e5fac Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Thu, 28 Nov 2024 18:53:45 +0100 Subject: Don't inadvertently reset frame scroll bar sizes (Bug#74435) * src/frame.c (gui_set_scroll_bar_width) (gui_set_scroll_bar_height): When the new size equals the old one do not reset size to default size (Bug#74435). --- src/frame.c | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/frame.c b/src/frame.c index 7f4bf274ad9..f6053fca3ef 100644 --- a/src/frame.c +++ b/src/frame.c @@ -5102,15 +5102,19 @@ gui_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval) { int unit = FRAME_COLUMN_WIDTH (f); - if (RANGED_FIXNUMP (1, arg, INT_MAX) - && XFIXNAT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) + if (RANGED_FIXNUMP (1, arg, INT_MAX)) { - FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFIXNAT (arg); - FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFIXNAT (arg) + unit - 1) / unit; - if (FRAME_NATIVE_WINDOW (f)) - adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_width); + if (XFIXNAT (arg) == FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) + return; + else + { + FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFIXNAT (arg); + FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFIXNAT (arg) + unit - 1) / unit; + if (FRAME_NATIVE_WINDOW (f)) + adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_width); - SET_FRAME_GARBAGED (f); + SET_FRAME_GARBAGED (f); + } } else { @@ -5133,15 +5137,19 @@ gui_set_scroll_bar_height (struct frame *f, Lisp_Object arg, Lisp_Object oldval) #if USE_HORIZONTAL_SCROLL_BARS int unit = FRAME_LINE_HEIGHT (f); - if (RANGED_FIXNUMP (1, arg, INT_MAX) - && XFIXNAT (arg) != FRAME_CONFIG_SCROLL_BAR_HEIGHT (f)) + if (RANGED_FIXNUMP (1, arg, INT_MAX)) { - FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = XFIXNAT (arg); - FRAME_CONFIG_SCROLL_BAR_LINES (f) = (XFIXNAT (arg) + unit - 1) / unit; - if (FRAME_NATIVE_WINDOW (f)) - adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_height); + if (XFIXNAT (arg) == FRAME_CONFIG_SCROLL_BAR_HEIGHT (f)) + return; + else + { + FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = XFIXNAT (arg); + FRAME_CONFIG_SCROLL_BAR_LINES (f) = (XFIXNAT (arg) + unit - 1) / unit; + if (FRAME_NATIVE_WINDOW (f)) + adjust_frame_size (f, -1, -1, 3, 0, Qscroll_bar_height); - SET_FRAME_GARBAGED (f); + SET_FRAME_GARBAGED (f); + } } else { -- cgit v1.2.1