mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-11 05:21:31 +11:00
macOS: Fix re-enabling decorations after the window is built without them (#520)
Fixes #517
This commit is contained in:
parent
d86f53a02c
commit
87fa120ebb
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,5 @@
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
target/
|
target/
|
||||||
|
rls/
|
||||||
*~
|
*~
|
||||||
#*#
|
#*#
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
- On X11, `Window::hidpi_factor` returns values from XRandR rather than the inaccurate values previously queried from the core protocol.
|
- On X11, `Window::hidpi_factor` returns values from XRandR rather than the inaccurate values previously queried from the core protocol.
|
||||||
- On X11, the primary monitor is detected correctly even when using versions of XRandR less than 1.5.
|
- On X11, the primary monitor is detected correctly even when using versions of XRandR less than 1.5.
|
||||||
- `MonitorId` now implements `Debug`.
|
- `MonitorId` now implements `Debug`.
|
||||||
|
- Fixed bug on macOS where using `with_decorations(false)` would cause `set_decorations(true)` to produce a transparent titlebar with no title.
|
||||||
|
|
||||||
# Version 0.14.0 (2018-05-09)
|
# Version 0.14.0 (2018-05-09)
|
||||||
|
|
||||||
|
|
|
@ -573,23 +573,22 @@ impl Window2 {
|
||||||
|
|
||||||
let app = match Window2::create_app(pl_attribs.activation_policy) {
|
let app = match Window2::create_app(pl_attribs.activation_policy) {
|
||||||
Some(app) => app,
|
Some(app) => app,
|
||||||
None => {
|
None => {
|
||||||
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
||||||
return Err(OsError(format!("Couldn't create NSApplication")));
|
return Err(OsError(format!("Couldn't create NSApplication")));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let window = match Window2::create_window(&win_attribs, &pl_attribs)
|
let window = match Window2::create_window(&win_attribs, &pl_attribs) {
|
||||||
{
|
Some(res) => res,
|
||||||
Some(window) => window,
|
None => {
|
||||||
None => {
|
|
||||||
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
||||||
return Err(OsError(format!("Couldn't create NSWindow")));
|
return Err(OsError(format!("Couldn't create NSWindow")));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let view = match Window2::create_view(*window) {
|
let view = match Window2::create_view(*window) {
|
||||||
Some(view) => view,
|
Some(view) => view,
|
||||||
None => {
|
None => {
|
||||||
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
let _: () = unsafe { msg_send![autoreleasepool, drain] };
|
||||||
return Err(OsError(format!("Couldn't create NSView")));
|
return Err(OsError(format!("Couldn't create NSView")));
|
||||||
},
|
},
|
||||||
|
@ -778,11 +777,6 @@ impl Window2 {
|
||||||
window.setMovableByWindowBackground_(YES);
|
window.setMovableByWindowBackground_(YES);
|
||||||
}
|
}
|
||||||
|
|
||||||
if !attrs.decorations {
|
|
||||||
window.setTitleVisibility_(appkit::NSWindowTitleVisibility::NSWindowTitleHidden);
|
|
||||||
window.setTitlebarAppearsTransparent_(YES);
|
|
||||||
}
|
|
||||||
|
|
||||||
window.center();
|
window.center();
|
||||||
window
|
window
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue