macOS: Fix re-enabling decorations after the window is built without them (#520)

Fixes #517
This commit is contained in:
Francesca Frangipane 2018-05-16 08:51:56 -04:00 committed by GitHub
parent d86f53a02c
commit 87fa120ebb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 11 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
Cargo.lock Cargo.lock
target/ target/
rls/
*~ *~
#*# #*#

View file

@ -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)

View file

@ -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
}); });