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
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, the primary monitor is detected correctly even when using versions of XRandR less than 1.5.
- `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)

View file

@ -573,23 +573,22 @@ impl Window2 {
let app = match Window2::create_app(pl_attribs.activation_policy) {
Some(app) => app,
None => {
None => {
let _: () = unsafe { msg_send![autoreleasepool, drain] };
return Err(OsError(format!("Couldn't create NSApplication")));
},
};
let window = match Window2::create_window(&win_attribs, &pl_attribs)
{
Some(window) => window,
None => {
let window = match Window2::create_window(&win_attribs, &pl_attribs) {
Some(res) => res,
None => {
let _: () = unsafe { msg_send![autoreleasepool, drain] };
return Err(OsError(format!("Couldn't create NSWindow")));
},
};
let view = match Window2::create_view(*window) {
Some(view) => view,
None => {
None => {
let _: () = unsafe { msg_send![autoreleasepool, drain] };
return Err(OsError(format!("Couldn't create NSView")));
},
@ -778,11 +777,6 @@ impl Window2 {
window.setMovableByWindowBackground_(YES);
}
if !attrs.decorations {
window.setTitleVisibility_(appkit::NSWindowTitleVisibility::NSWindowTitleHidden);
window.setTitlebarAppearsTransparent_(YES);
}
window.center();
window
});