wayland: Keep startup_notification_id around long enough

When using xdg_activation we need to keep the id around until we send
the first activate to signal succesful startup.

Backport-of: 999509be619bfa0f50a549489b5ab5c890b574fa
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
This commit is contained in:
Guido Günther 2021-08-25 12:21:48 +02:00 committed by Carlos Garnacho
parent 54348c5270
commit e80251e751
2 changed files with 5 additions and 0 deletions

View File

@ -945,6 +945,10 @@ gdk_wayland_display_notify_startup_complete (GdkDisplay *display,
{
GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
/* Will be signaled with focus activation */
if (display_wayland->xdg_activation)
return;
if (startup_id == NULL)
{
startup_id = display_wayland->startup_notification_id;

View File

@ -3832,6 +3832,7 @@ gdk_wayland_window_focus (GdkWindow *window,
xdg_activation_v1_activate (display_wayland->xdg_activation,
display_wayland->startup_notification_id,
impl->display_server.wl_surface);
gdk_wayland_display_set_startup_notification_id (GDK_DISPLAY (display_wayland), NULL);
}
else if (display_wayland->gtk_shell_version >= 3)
{