xdg-shell: Take a xdg_surface as the parent surface
There is no other valid surface that we should be using here. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
502f5e06a2
commit
66bc949b72
@ -253,7 +253,7 @@ struct window {
|
||||
struct xdg_popup *xdg_popup;
|
||||
|
||||
struct window *parent;
|
||||
struct wl_surface *last_parent_surface;
|
||||
struct window *last_parent;
|
||||
|
||||
struct ivi_surface *ivi_surface;
|
||||
|
||||
@ -4031,21 +4031,21 @@ static const struct xdg_surface_listener xdg_surface_listener = {
|
||||
static void
|
||||
window_sync_parent(struct window *window)
|
||||
{
|
||||
struct wl_surface *parent_surface;
|
||||
struct xdg_surface *parent_surface;
|
||||
|
||||
if (!window->xdg_surface)
|
||||
return;
|
||||
|
||||
if (window->parent == window->last_parent)
|
||||
return;
|
||||
|
||||
if (window->parent)
|
||||
parent_surface = window->parent->main_surface->surface;
|
||||
parent_surface = window->parent->xdg_surface;
|
||||
else
|
||||
parent_surface = NULL;
|
||||
|
||||
if (parent_surface == window->last_parent_surface)
|
||||
return;
|
||||
|
||||
xdg_surface_set_parent(window->xdg_surface, parent_surface);
|
||||
window->last_parent_surface = parent_surface;
|
||||
window->last_parent = window->parent;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3717,14 +3717,14 @@ xdg_surface_set_parent(struct wl_client *client,
|
||||
struct wl_resource *parent_resource)
|
||||
{
|
||||
struct shell_surface *shsurf = wl_resource_get_user_data(resource);
|
||||
struct weston_surface *parent;
|
||||
struct shell_surface *parent;
|
||||
|
||||
if (parent_resource)
|
||||
if (parent_resource) {
|
||||
parent = wl_resource_get_user_data(parent_resource);
|
||||
else
|
||||
parent = NULL;
|
||||
|
||||
shell_surface_set_parent(shsurf, parent);
|
||||
shell_surface_set_parent(shsurf, parent->surface);
|
||||
} else {
|
||||
shell_surface_set_parent(shsurf, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -152,7 +152,7 @@
|
||||
unmapped if the parent is unmapped too. They should not appear
|
||||
on task bars and alt+tab.
|
||||
</description>
|
||||
<arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
|
||||
<arg name="parent" type="object" interface="xdg_surface" allow-null="true"/>
|
||||
</request>
|
||||
|
||||
<request name="set_title">
|
||||
|
Loading…
Reference in New Issue
Block a user