From 9c745105f8503349860d7e800c662f77ce57a1a8 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Tue, 4 Aug 2015 12:24:16 +0200 Subject: [PATCH] wayland-surface: Send out an error for a popup with an invalid parent Instead of silently failing without the client noticing. https://bugzilla.gnome.org/show_bug.cgi?id=753237 --- src/wayland/meta-wayland-surface.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index ef9edf61a..1849ece99 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -1365,9 +1365,6 @@ xdg_shell_get_xdg_popup (struct wl_client *client, MetaDisplay *display = meta_get_display (); MetaWaylandPopup *popup; - if (parent_surf == NULL || parent_surf->window == NULL) - return; - if (surface->xdg_popup != NULL) { wl_resource_post_error (surface_resource, @@ -1382,7 +1379,9 @@ xdg_shell_get_xdg_popup (struct wl_client *client, XDG_SHELL_ERROR_ROLE) != 0) return; - if (parent_surf->xdg_popup == NULL && parent_surf->xdg_surface == NULL) + if (parent_surf == NULL || + parent_surf->window == NULL || + (parent_surf->xdg_popup == NULL && parent_surf->xdg_surface == NULL)) { wl_resource_post_error (resource, XDG_POPUP_ERROR_INVALID_PARENT,