[mutter] wayland-surface: Send out an error for a popup with an invalid parent



commit 9c745105f8503349860d7e800c662f77ce57a1a8
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Aug 4 12:24:16 2015 +0200

    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 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index ef9edf6..1849ece 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,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]