Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'

Revert "macos: specify a window level for surfaces"

See merge request GNOME/gtk!2908
This commit is contained in:
Matthias Clasen
2020-12-02 20:15:51 +00:00
3 changed files with 22 additions and 8 deletions

View File

@@ -320,11 +320,20 @@
-(void)hide
{
BOOL wasKey = [self isKeyWindow];
BOOL wasMain = [self isMainWindow];
inShowOrHide = YES;
[self orderOut:nil];
inShowOrHide = NO;
initialPositionKnown = NO;
if (wasMain)
[self windowDidResignMain:nil];
if (wasKey)
[self windowDidResignKey:nil];
}
-(BOOL)trackManualMove

View File

@@ -122,7 +122,7 @@ gdk_macos_device_ungrab (GdkDevice *device,
grab = _gdk_display_get_last_device_grab (display, device);
if (grab != NULL)
grab->serial_end = 0;
grab->serial_end = grab->serial_start;
_gdk_display_device_grab_update (display, device, 0);
}

View File

@@ -361,6 +361,17 @@ gdk_macos_surface_destroy (GdkSurface *surface,
GdkMacosSurface *self = (GdkMacosSurface *)surface;
GdkMacosWindow *window = g_steal_pointer (&self->window);
GdkFrameClock *frame_clock;
if ((frame_clock = gdk_surface_get_frame_clock (GDK_SURFACE (self))))
{
g_signal_handlers_disconnect_by_func (frame_clock,
G_CALLBACK (gdk_macos_surface_before_paint),
self);
g_signal_handlers_disconnect_by_func (frame_clock,
G_CALLBACK (gdk_macos_surface_before_paint),
self);
}
g_clear_pointer (&self->title, g_free);
@@ -505,7 +516,6 @@ _gdk_macos_surface_new (GdkMacosDisplay *display,
{
GdkFrameClock *frame_clock;
GdkMacosSurface *ret;
NSInteger window_level = NSNormalWindowLevel;
g_return_val_if_fail (GDK_IS_MACOS_DISPLAY (display), NULL);
@@ -522,12 +532,10 @@ _gdk_macos_surface_new (GdkMacosDisplay *display,
case GDK_SURFACE_POPUP:
ret = _gdk_macos_popup_surface_new (display, parent, frame_clock, x, y, width, height);
window_level = NSPopUpMenuWindowLevel;
break;
case GDK_SURFACE_TEMP:
ret = _gdk_macos_drag_surface_new (display, frame_clock, x, y, width, height);
window_level = NSPopUpMenuWindowLevel;
break;
default:
@@ -536,10 +544,7 @@ _gdk_macos_surface_new (GdkMacosDisplay *display,
}
if (ret != NULL)
{
[ret->window setLevel:window_level];
_gdk_macos_surface_monitor_changed (ret);
}
_gdk_macos_surface_monitor_changed (ret);
g_object_unref (frame_clock);