summaryrefslogtreecommitdiff
path: root/src/Fl_cocoa.mm
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-03-03 17:50:49 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-03-03 17:50:49 +0100
commit130f5b6dc1c2258b1a05c9319d796b96dc2d4f7e (patch)
tree41d40ad5e87e2ffb207482dac00ec50310bc6263 /src/Fl_cocoa.mm
parentd832ab742a9247b928c530a91d195410b17387b4 (diff)
A window needs is_resizable() true to obey fullscreen() or maximize()
Diffstat (limited to 'src/Fl_cocoa.mm')
-rw-r--r--src/Fl_cocoa.mm10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 875109e45..9def92f70 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -1353,7 +1353,7 @@ static FLWindowDelegate *flwindowdelegate_instance = nil;
window->redraw();
}
#endif
- if (!window->parent() && window->border()) {
+ if (!window->parent() && window->border() && Fl_Window_Driver::driver(window)->is_resizable()) {
Fl_Cocoa_Window_Driver::driver(window)->is_maximized([nsw isZoomed]);
}
fl_unlock_function();
@@ -3215,7 +3215,7 @@ void Fl_Cocoa_Window_Driver::makeWindow()
void Fl_Cocoa_Window_Driver::fullscreen_on() {
pWindow->_set_fullscreen();
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
- if (fl_mac_os_version >= 100700) {
+ if (fl_mac_os_version >= 100700 && pWindow->border()) {
# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
FLWindow *nswin = fl_xid(pWindow);
[nswin toggleFullScreen:nil];
@@ -3277,7 +3277,7 @@ static NSUInteger calc_win_style(Fl_Window *win) {
NSUInteger winstyle;
if (win->border() && !win->fullscreen_active()) {
winstyle = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable;
- if (win->resizable()) winstyle |= NSWindowStyleMaskResizable;
+ if (Fl_Window_Driver::driver(win)->is_resizable()) winstyle |= NSWindowStyleMaskResizable;
if (!win->modal()) winstyle |= NSWindowStyleMaskMiniaturizable;
} else winstyle = NSWindowStyleMaskBorderless;
return winstyle;
@@ -3301,10 +3301,12 @@ static void restore_window_title_and_icon(Fl_Window *pWindow, NSImage *icon) {
void Fl_Cocoa_Window_Driver::fullscreen_off(int X, int Y, int W, int H) {
pWindow->_clear_fullscreen();
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
- if (fl_mac_os_version >= 100700) {
+ if (fl_mac_os_version >= 100700 && pWindow->border()) {
# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
FLWindow *nswin = fl_xid(pWindow);
[nswin toggleFullScreen:nil];
+ [nswin setStyleMask:calc_win_style(pWindow)]; //10.6
+ pWindow->resize(*no_fullscreen_x(), *no_fullscreen_y(), *no_fullscreen_w(), *no_fullscreen_h());
# endif
} else if (fl_mac_os_version >= 100600) {
FLWindow *nswin = fl_xid(pWindow);