[gtk/wip/chergert/quartz4u] macos: actually show the popup
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/quartz4u] macos: actually show the popup
- Date: Fri, 8 May 2020 21:19:09 +0000 (UTC)
commit b95a1a9f1c34e7f076afaf6667992e88514e6e1a
Author: Christian Hergert <chergert redhat com>
Date: Fri May 8 14:18:16 2020 -0700
macos: actually show the popup
gdk/macos/gdkmacospopupsurface.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/gdk/macos/gdkmacospopupsurface.c b/gdk/macos/gdkmacospopupsurface.c
index 85d6cbc59f..b845fadc92 100644
--- a/gdk/macos/gdkmacospopupsurface.c
+++ b/gdk/macos/gdkmacospopupsurface.c
@@ -74,12 +74,22 @@ gdk_macos_popup_surface_layout (GdkMacosPopupSurface *self,
}
+static void
+show_popup (GdkMacosPopupSurface *self)
+{
+ NSWindow *nswindow = _gdk_macos_surface_get_native (GDK_MACOS_SURFACE (self));
+
+ [(GdkMacosWindow *)nswindow showAndMakeKey:NO];
+
+ _gdk_macos_surface_show (GDK_MACOS_SURFACE (self));
+}
+
static void
show_grabbing_popup (GdkSeat *seat,
GdkSurface *surface,
gpointer user_data)
{
- _gdk_macos_surface_show (GDK_MACOS_SURFACE (surface));
+ show_popup (GDK_MACOS_POPUP_SURFACE (surface));
}
static gboolean
@@ -112,7 +122,7 @@ gdk_macos_popup_surface_present (GdkPopup *popup,
}
else
{
- _gdk_macos_surface_show (GDK_MACOS_SURFACE (self));
+ show_popup (GDK_MACOS_POPUP_SURFACE (self));
}
return GDK_SURFACE_IS_MAPPED (GDK_SURFACE (self));
@@ -275,6 +285,9 @@ _gdk_macos_popup_surface_new (GdkMacosDisplay *display,
defer:NO
screen:screen];
+ [window setOpaque:NO];
+ [window setBackgroundColor:[NSColor clearColor]];
+
self = g_object_new (GDK_TYPE_MACOS_POPUP_SURFACE,
"display", display,
"frame-clock", frame_clock,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]