[gtk: 6/8] broadway: Keep popups above their parent
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 6/8] broadway: Keep popups above their parent
- Date: Fri, 13 Mar 2020 15:11:08 +0000 (UTC)
commit b74a26b275819719a5f8b71ed0f9cc30236eb4c0
Author: Alexander Larsson <alexl redhat com>
Date: Fri Mar 13 14:35:43 2020 +0100
broadway: Keep popups above their parent
We set the parent as a "transient parent" for popups, which means
they will not be stacked below the parent.
gdk/broadway/gdksurface-broadway.c | 11 +++++++++++
1 file changed, 11 insertions(+)
---
diff --git a/gdk/broadway/gdksurface-broadway.c b/gdk/broadway/gdksurface-broadway.c
index bb3acf2f98..9dcf3f14f1 100644
--- a/gdk/broadway/gdksurface-broadway.c
+++ b/gdk/broadway/gdksurface-broadway.c
@@ -273,6 +273,13 @@ _gdk_broadway_display_create_surface (GdkDisplay *display,
connect_frame_clock (surface);
+ /* We treat the real parent as a default transient for to get stacking right */
+ if (parent)
+ {
+ impl->transient_for = GDK_BROADWAY_SURFACE (parent)->id;
+ _gdk_broadway_server_surface_set_transient_for (broadway_display->server, impl->id,
impl->transient_for);
+ }
+
return surface;
}
@@ -670,6 +677,10 @@ gdk_broadway_surface_set_transient_for (GdkSurface *surface,
impl = GDK_BROADWAY_SURFACE (surface);
+ /* We treat the real parent as a default transient for to get stacking right */
+ if (parent == NULL)
+ parent = surface->parent;
+
parent_id = 0;
if (parent)
parent_id = GDK_BROADWAY_SURFACE (parent)->id;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]