Browse Source

cocoa: Fix black bar when switching to fullscreen while z-order is top

rdb 2 years ago
parent
commit
e696ac4046
1 changed files with 6 additions and 1 deletions
  1. 6 1
      panda/src/cocoadisplay/cocoaGraphicsWindow.mm

+ 6 - 1
panda/src/cocoadisplay/cocoaGraphicsWindow.mm

@@ -851,7 +851,12 @@ set_properties_now(WindowProperties &properties) {
           if (switched) {
             if (_window != nil) {
               // For some reason, setting the style mask makes it give up its
-              // first-responder status.
+              // first-responder status.  And for some reason, we need to first
+              // restore the window to normal level before we switch fullscreen,
+              // otherwise we may get a black bar if we're currently on Z_top.
+              if (_properties.get_z_order() != WindowProperties::Z_normal) {
+                [_window setLevel: NSNormalWindowLevel];
+              }
               if ([_window respondsToSelector:@selector(setStyleMask:)]) {
                 [_window setStyleMask:NSBorderlessWindowMask];
               }