gtk4/0001-wayland-xdg-activation-Don-t-assume-there-s-a-focus-.patch

41 lines
1.9 KiB
Diff

From 4d741bac98f906796d61eebfb4f74f5b1cecb2b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 11 Jan 2022 20:21:55 +0100
Subject: [PATCH] wayland: xdg-activation: Don't assume there's a focus surface
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Tools like gtk4-launch can't set surface on the activation token so
don't require it. If the compositor requires it we can't do anything
about it anyway. This avoids a critical:
(gtk4-launch:23497): Gdk-CRITICAL **: 17:07:24.704: gdk_wayland_surface_get_wl_surface: assertion 'GDK_IS_WAYLAND_SURFACE (surface)' failed
Fixes: be4216e051 ("gdk/wayland: Support the xdg-activation wayland protocol")
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
gdk/wayland/gdkapplaunchcontext-wayland.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gdk/wayland/gdkapplaunchcontext-wayland.c b/gdk/wayland/gdkapplaunchcontext-wayland.c
index c9498e507c..c8bf5afd25 100644
--- a/gdk/wayland/gdkapplaunchcontext-wayland.c
+++ b/gdk/wayland/gdkapplaunchcontext-wayland.c
@@ -73,8 +73,9 @@ gdk_wayland_app_launch_context_get_startup_notify_id (GAppLaunchContext *context
xdg_activation_token_v1_set_serial (token,
_gdk_wayland_seat_get_last_implicit_grab_serial (seat, NULL),
gdk_wayland_seat_get_wl_seat (GDK_SEAT (seat)));
- xdg_activation_token_v1_set_surface (token,
- gdk_wayland_surface_get_wl_surface (focus_surface));
+ if (focus_surface)
+ xdg_activation_token_v1_set_surface (token,
+ gdk_wayland_surface_get_wl_surface (focus_surface));
xdg_activation_token_v1_commit (token);
while (app_launch_data.token == NULL)
--
2.35.1