summaryrefslogtreecommitdiff
path: root/src/Fl_cocoa.mm
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-01 15:43:18 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-01 15:43:18 +0100
commit818e2b77d141574a8ef8cf50bbe33241206a2ee9 (patch)
tree891dd586a1a8bce20f4b640f6bd98f337c838e0e /src/Fl_cocoa.mm
parent34f465add2c95aaba012d0f6444ad7478c420327 (diff)
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.
Diffstat (limited to 'src/Fl_cocoa.mm')
-rw-r--r--src/Fl_cocoa.mm7
1 files changed, 5 insertions, 2 deletions
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