mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 11:20:12 +00:00
Bug 655074 - Fix crash with undecorated windows on MacOS Lion
This commit is contained in:
parent
093612a46c
commit
786521d5a8
@ -2559,10 +2559,6 @@ gdk_quartz_window_set_decorations (GdkWindow *window,
|
||||
|
||||
old_mask = [impl->toplevel styleMask];
|
||||
|
||||
/* Note, there doesn't seem to be a way to change this without
|
||||
* recreating the toplevel. There might be bad side-effects of doing
|
||||
* that, but it seems alright.
|
||||
*/
|
||||
if (old_mask != new_mask)
|
||||
{
|
||||
NSRect rect;
|
||||
@ -2586,15 +2582,28 @@ gdk_quartz_window_set_decorations (GdkWindow *window,
|
||||
rect = [NSWindow contentRectForFrameRect:rect styleMask:old_mask];
|
||||
}
|
||||
|
||||
impl->toplevel = [impl->toplevel initWithContentRect:rect
|
||||
styleMask:new_mask
|
||||
backing:NSBackingStoreBuffered
|
||||
defer:NO];
|
||||
/* Note, before OS 10.6 there doesn't seem to be a way to change this without
|
||||
* recreating the toplevel. There might be bad side-effects of doing
|
||||
* that, but it seems alright.
|
||||
*/
|
||||
#if MAC_OS_X_VERSION_MIN_ALLOWED > MAC_OS_X_VERSION_10_5
|
||||
if ([impl->toplevel respondsToSelector:@selector(setStyleMask:)])
|
||||
{
|
||||
[impl->toplevel setStyleMask:new_mask];
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
[impl->toplevel release];
|
||||
impl->toplevel = [[GdkQuartzNSWindow alloc] initWithContentRect:rect
|
||||
styleMask:new_mask
|
||||
backing:NSBackingStoreBuffered
|
||||
defer:NO];
|
||||
[impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
|
||||
[impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
|
||||
[impl->toplevel setContentView:old_view];
|
||||
}
|
||||
|
||||
[impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
|
||||
[impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
|
||||
|
||||
[impl->toplevel setContentView:old_view];
|
||||
[impl->toplevel setFrame:rect display:YES];
|
||||
|
||||
/* Invalidate the window shadow for non-opaque views that have shadow
|
||||
|
Loading…
Reference in New Issue
Block a user