macOS: fix transition from single-screen fullscreen to "All Screens" fullscreen
This commit is contained in:
parent
bc764dabc1
commit
94f471b701
@ -1419,7 +1419,8 @@ static FLWindowDelegate *flwindowdelegate_instance = nil;
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!window->parent() && window->border() && Fl_Window_Driver::driver(window)->is_resizable()) {
|
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();
|
fl_unlock_function();
|
||||||
}
|
}
|
||||||
@ -3332,8 +3333,11 @@ void Fl_Cocoa_Window_Driver::fullscreen_on() {
|
|||||||
FLWindow *nswin = fl_xid(pWindow);
|
FLWindow *nswin = fl_xid(pWindow);
|
||||||
# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
||||||
if (fl_mac_os_version >= 100700 && (nswin.styleMask & NSWindowStyleMaskFullScreen)) {
|
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];
|
[nswin toggleFullScreen:nil];
|
||||||
|
if (allscreens_on) nswin.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone;
|
||||||
if (*no_fullscreen_w() == 0) {
|
if (*no_fullscreen_w() == 0) {
|
||||||
*no_fullscreen_x() = x();
|
*no_fullscreen_x() = x();
|
||||||
*no_fullscreen_y() = y();
|
*no_fullscreen_y() = y();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user