mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 08:44:19 -04:00
cocoa: Fix error when switching to FS while macOS' FS is active
This commit is contained in:
parent
9e87af9dd7
commit
82b9a1266c
@ -858,7 +858,7 @@ set_properties_now(WindowProperties &properties) {
|
|||||||
[_window setLevel: NSNormalWindowLevel];
|
[_window setLevel: NSNormalWindowLevel];
|
||||||
}
|
}
|
||||||
if ([_window respondsToSelector:@selector(setStyleMask:)]) {
|
if ([_window respondsToSelector:@selector(setStyleMask:)]) {
|
||||||
[_window setStyleMask:NSBorderlessWindowMask];
|
[_window setStyleMask:([_window styleMask] & NSFullScreenWindowMask)];
|
||||||
}
|
}
|
||||||
[_window makeFirstResponder:_view];
|
[_window makeFirstResponder:_view];
|
||||||
[_window setLevel:CGShieldingWindowLevel()];
|
[_window setLevel:CGShieldingWindowLevel()];
|
||||||
@ -897,7 +897,7 @@ set_properties_now(WindowProperties &properties) {
|
|||||||
// For some reason, setting the style mask makes it give up its
|
// For some reason, setting the style mask makes it give up its
|
||||||
// first-responder status.
|
// first-responder status.
|
||||||
if ([_window respondsToSelector:@selector(setStyleMask:)]) {
|
if ([_window respondsToSelector:@selector(setStyleMask:)]) {
|
||||||
[_window setStyleMask:NSBorderlessWindowMask];
|
[_window setStyleMask:([_window styleMask] & NSFullScreenWindowMask)];
|
||||||
}
|
}
|
||||||
[_window makeFirstResponder:_view];
|
[_window makeFirstResponder:_view];
|
||||||
[_window setLevel:CGShieldingWindowLevel()];
|
[_window setLevel:CGShieldingWindowLevel()];
|
||||||
@ -963,13 +963,12 @@ set_properties_now(WindowProperties &properties) {
|
|||||||
// here.
|
// here.
|
||||||
if (!properties.has_undecorated() && !_properties.get_undecorated() &&
|
if (!properties.has_undecorated() && !_properties.get_undecorated() &&
|
||||||
[_window respondsToSelector:@selector(setStyleMask:)]) {
|
[_window respondsToSelector:@selector(setStyleMask:)]) {
|
||||||
if (properties.get_fixed_size()) {
|
NSUInteger style = ([_window styleMask] & NSFullScreenWindowMask);
|
||||||
[_window setStyleMask:NSTitledWindowMask | NSClosableWindowMask |
|
style |= NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask;
|
||||||
NSMiniaturizableWindowMask ];
|
if (!properties.get_fixed_size()) {
|
||||||
} else {
|
style |= NSResizableWindowMask;
|
||||||
[_window setStyleMask:NSTitledWindowMask | NSClosableWindowMask |
|
|
||||||
NSMiniaturizableWindowMask | NSResizableWindowMask ];
|
|
||||||
}
|
}
|
||||||
|
[_window setStyleMask:style];
|
||||||
[_window makeFirstResponder:_view];
|
[_window makeFirstResponder:_view];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -981,16 +980,14 @@ set_properties_now(WindowProperties &properties) {
|
|||||||
_properties.set_undecorated(properties.get_undecorated());
|
_properties.set_undecorated(properties.get_undecorated());
|
||||||
|
|
||||||
if (!_properties.get_fullscreen()) {
|
if (!_properties.get_fullscreen()) {
|
||||||
if (properties.get_undecorated()) {
|
NSUInteger style = ([_window styleMask] & NSFullScreenWindowMask);
|
||||||
[_window setStyleMask: NSBorderlessWindowMask];
|
if (!properties.get_undecorated()) {
|
||||||
} else if (_properties.get_fixed_size()) {
|
style |= NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask;
|
||||||
// Fixed size windows should not show the resize button.
|
if (!properties.get_fixed_size()) {
|
||||||
[_window setStyleMask: NSTitledWindowMask | NSClosableWindowMask |
|
style |= NSResizableWindowMask;
|
||||||
NSMiniaturizableWindowMask ];
|
}
|
||||||
} else {
|
|
||||||
[_window setStyleMask: NSTitledWindowMask | NSClosableWindowMask |
|
|
||||||
NSMiniaturizableWindowMask | NSResizableWindowMask ];
|
|
||||||
}
|
}
|
||||||
|
[_window setStyleMask:style];
|
||||||
[_window makeFirstResponder:_view];
|
[_window makeFirstResponder:_view];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user