diff --git a/src/wayland/meta-wayland-popup.c b/src/wayland/meta-wayland-popup.c index ffb5b107c..edd0407bc 100644 --- a/src/wayland/meta-wayland-popup.c +++ b/src/wayland/meta-wayland-popup.c @@ -122,7 +122,7 @@ popup_grab_get_focus_surface (MetaWaylandEventHandler *handler, device, sequence); - if (surface && + if (surface && surface->resource && wl_resource_get_client (surface->resource) == popup_grab->grab_client) return surface; } diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index c9b921583..a6454641d 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -1501,7 +1501,7 @@ update_surface_output_state (gpointer key, gpointer value, gpointer user_data) void meta_wayland_surface_update_outputs (MetaWaylandSurface *surface) { - if (!surface->compositor) + if (!surface->compositor || !surface->role) return; g_hash_table_foreach (surface->compositor->outputs,