diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-02-03 12:08:20 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-02-03 12:08:20 +0100 |
| commit | 94f471b701837d06f31d7314368b849619fc62e8 (patch) | |
| tree | 2682bc0241b2e6ea007aad0df056a9ff778de273 /src | |
| parent | bc764dabc1782bfde6d38b7da10b2d048a1d3634 (diff) | |
macOS: fix transition from single-screen fullscreen to "All Screens" fullscreen
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_cocoa.mm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index a045d07ea..9468e8ce2 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1419,7 +1419,8 @@ static FLWindowDelegate *flwindowdelegate_instance = nil; } #endif if (!window->parent() && window->border() && Fl_Window_Driver::driver(window)->is_resizable()) { - Fl_Cocoa_Window_Driver::driver(window)->is_maximized([nsw isZoomed]); + Fl_Cocoa_Window_Driver::driver(window)->is_maximized([nsw isZoomed] && + !window->fullscreen_active()); } fl_unlock_function(); } @@ -3332,8 +3333,11 @@ void Fl_Cocoa_Window_Driver::fullscreen_on() { FLWindow *nswin = fl_xid(pWindow); # if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 if (fl_mac_os_version >= 100700 && (nswin.styleMask & NSWindowStyleMaskFullScreen)) { - // from single-screen fullscreen to "All Screens" fullscreen + // from single-screen fullscreen to "All Screens" fullscreen, with border + bool allscreens_on = (nswin.collectionBehavior & NSWindowCollectionBehaviorFullScreenNone); + if (allscreens_on) nswin.collectionBehavior &= ~NSWindowCollectionBehaviorFullScreenNone; [nswin toggleFullScreen:nil]; + if (allscreens_on) nswin.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; if (*no_fullscreen_w() == 0) { *no_fullscreen_x() = x(); *no_fullscreen_y() = y(); |
