From 818e2b77d141574a8ef8cf50bbe33241206a2ee9 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:43:18 +0100 Subject: Wayland: Fix issue in maximization of a borderless window (#1099) Also fixes scenarios mixing fullscreen and maximization: - maximize - set fullscreen - unset fullscreen - un-maximize with and without window border. --- src/Fl_cocoa.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/Fl_cocoa.mm') diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index e7e3c8a50..285b3d469 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -3328,12 +3328,14 @@ void Fl_Cocoa_Window_Driver::fullscreen_on() { void Fl_Cocoa_Window_Driver::maximize() { - [fl_xid(pWindow) performZoom:nil]; + if (border()) [fl_xid(pWindow) performZoom:nil]; + else Fl_Window_Driver::maximize(); } void Fl_Cocoa_Window_Driver::un_maximize() { - [fl_xid(pWindow) performZoom:nil]; + if (border()) [fl_xid(pWindow) performZoom:nil]; + else Fl_Window_Driver::un_maximize(); } @@ -3387,6 +3389,7 @@ void Fl_Cocoa_Window_Driver::fullscreen_off(int X, int Y, int W, int H) { [nswin setStyleMask:calc_win_style(pWindow)]; //10.6 restore_window_title_and_icon(pWindow, icon_image); pWindow->resize(X, Y, W, H); + if (pWindow->maximize_active()) Fl_Window_Driver::maximize(); if (has_focus) [nswin makeKeyAndOrderFront:nil]; else [nswin orderFront:nil]; } else -- cgit v1.2.3