surface: Store popup parent
Store popup parents separately from transient-for parents, since these are separate concepts with different behaviors.
This commit is contained in:
@@ -205,6 +205,7 @@ _gdk_broadway_display_create_surface (GdkDisplay *display,
|
||||
g_object_unref (frame_clock);
|
||||
|
||||
surface->surface_type = surface_type;
|
||||
surface->parent = parent;
|
||||
surface->x = x;
|
||||
surface->y = y;
|
||||
surface->width = width;
|
||||
|
||||
@@ -32,7 +32,8 @@ struct _GdkSurface
|
||||
|
||||
GdkDisplay *display;
|
||||
|
||||
GdkSurface *transient_for;
|
||||
GdkSurface *transient_for; /* for toplevels */
|
||||
GdkSurface *parent; /* for popups */
|
||||
|
||||
gpointer widget;
|
||||
|
||||
|
||||
@@ -535,6 +535,7 @@ _gdk_wayland_display_create_surface (GdkDisplay *display,
|
||||
}
|
||||
|
||||
surface->surface_type = surface_type;
|
||||
surface->parent = parent;
|
||||
surface->x = x;
|
||||
surface->y = y;
|
||||
surface->width = width;
|
||||
|
||||
@@ -811,6 +811,7 @@ _gdk_x11_display_create_surface (GdkDisplay *display,
|
||||
g_object_unref (frame_clock);
|
||||
|
||||
surface->surface_type = surface_type;
|
||||
surface->parent = parent;
|
||||
surface->x = x;
|
||||
surface->y = y;
|
||||
surface->width = width;
|
||||
|
||||
Reference in New Issue
Block a user