diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-01 15:43:18 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-01 15:43:18 +0100 |
| commit | 818e2b77d141574a8ef8cf50bbe33241206a2ee9 (patch) | |
| tree | 891dd586a1a8bce20f4b640f6bd98f337c838e0e /src/Fl_cocoa.mm | |
| parent | 34f465add2c95aaba012d0f6444ad7478c420327 (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.mm | 7 |
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 |
