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