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>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 1242f93..076b454 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -3717,14 +3717,14 @@
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