[mutter] wayland: Handle parent-less popup commits
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] wayland: Handle parent-less popup commits
- Date: Sun, 18 Sep 2016 02:59:09 +0000 (UTC)
commit 417757eab8540d3e0330a1ed76a09e99433a4c76
Author: Jonas Ådahl <jadahl gmail com>
Date: Fri Sep 16 15:07:22 2016 +0800
wayland: Handle parent-less popup commits
A xdg_popup, when active, always has a parent surface. However, a popup
created may immediately become invalid, for example when it is not
granted a grab, in which case it won't be assigned a parent since it
will never be mapped.
This case needs to be handled elsewhere, as one cannot assume a
MetaWaylandXdgPoup that is processed (via wl_surface commit handling
etc) will have a parent_surface.
https://bugzilla.gnome.org/show_bug.cgi?id=771495
src/wayland/meta-wayland-xdg-shell.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c
index 3290683..e9223a9 100644
--- a/src/wayland/meta-wayland-xdg-shell.c
+++ b/src/wayland/meta-wayland-xdg-shell.c
@@ -856,7 +856,10 @@ xdg_popup_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
{
MetaWaylandXdgPopup *xdg_popup = META_WAYLAND_XDG_POPUP (surface_role);
- return meta_wayland_surface_get_toplevel (xdg_popup->parent_surface);
+ if (xdg_popup->parent_surface)
+ return meta_wayland_surface_get_toplevel (xdg_popup->parent_surface);
+ else
+ return NULL;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]