From e0626e025ef2bc70c29803ecf2a3a4e4b3eb19eb Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 4 Nov 2021 15:51:48 +0100 Subject: [PATCH] Attempt to fix issue#287 about fullscreen mode. The fix is to reproduce what is in main branch 1.4 --- src/Fl_cocoa.mm | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 444486ac3..42438f1ad 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -3113,22 +3113,25 @@ void Fl_Window::fullscreen_x() { void Fl_Window::fullscreen_off_x(int X, int Y, int W, int H) { _clear_fullscreen(); - if (fl_mac_os_version < 101000) { - hide(); - resize(X, Y, W, H); - show(); - } else { - NSUInteger winstyle = (border() ? - (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask) : NSBorderlessWindowMask); - if (!modal()) winstyle |= NSMiniaturizableWindowMask; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + if (fl_mac_os_version >= 100600) { NSInteger level = NSNormalWindowLevel; if (modal()) level = modal_window_level(); else if (non_modal()) level = non_modal_window_level(); + [i->xid orderOut:nil]; [i->xid setLevel:level]; - resize(X, Y, W, H); -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + NSUInteger winstyle = (border() ? + (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask) : NSBorderlessWindowMask); + if (!modal()) winstyle |= NSMiniaturizableWindowMask; [i->xid setStyleMask:winstyle]; //10.6 + resize(X, Y, W, H); + [i->xid orderFront:nil]; + } else #endif + { + hide(); + resize(X, Y, W, H); + show(); } Fl::handle(FL_FULLSCREEN, this); }