glib2/startup-notify-without-gappinfo.patch
Michael Catanzaro 2276a29b08 Add patch for CVE-2025-13601 and patches for GUnixMount issues
Also, rename new patch files to follow this package's naming
conventions.

Resolves: RHEL-138588
Resolves: RHEL-130990
2026-01-19 15:09:19 -06:00

57 lines
2.4 KiB
Diff

From 373dfac8dbd9ed5e7ee398ae8645a4cd440163b4 Mon Sep 17 00:00:00 2001
From: Julian Sparber <julian@sparber.net>
Date: Mon, 22 Jul 2024 14:24:22 +0200
Subject: [PATCH] gappinfo: Allow giving no GAppInfo for getting startup notify
id
On Wayland the activation token returned by
`g_app_launch_context_get_startup_notify_id()` doesn't depend on the
`GAppInfo`. The token is only used to hand over focus to the
application that is launched. In some cases it's not even possible to know
what application will actually be used to open the files. For example
when using portals within a sandbox. Therefore, allow providing no
`GAppInfo`.
This also makes clear in the docs that the `files` argument can be `NULL`.
(cherry picked from commit 6210708f050d389e83d921b9e5c09db1a988d510)
---
gio/gappinfo.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/gio/gappinfo.c b/gio/gappinfo.c
index 652cae6e1..76b43d159 100644
--- a/gio/gappinfo.c
+++ b/gio/gappinfo.c
@@ -1593,8 +1593,8 @@ g_app_launch_context_get_display (GAppLaunchContext *context,
/**
* g_app_launch_context_get_startup_notify_id:
* @context: a #GAppLaunchContext
- * @info: a #GAppInfo
- * @files: (element-type GFile): a #GList of #GFile objects
+ * @info: (nullable): the app info
+ * @files: (nullable) (element-type GFile): a list of [iface@Gio.File] objects
*
* Initiates startup notification for the application and returns the
* `XDG_ACTIVATION_TOKEN` or `DESKTOP_STARTUP_ID` for the launched operation,
@@ -1609,6 +1609,7 @@ g_app_launch_context_get_display (GAppLaunchContext *context,
* [freedesktop.org Startup Notification Protocol](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).
*
* Support for the XDG Activation Protocol was added in GLib 2.76.
+ * Since GLib 2.82 @info and @files can be `NULL`, but if it's not supported the returned token may be `NULL`.
*
* Returns: (nullable): a startup notification ID for the application, or %NULL if
* not supported.
@@ -1621,7 +1622,7 @@ g_app_launch_context_get_startup_notify_id (GAppLaunchContext *context,
GAppLaunchContextClass *class;
g_return_val_if_fail (G_IS_APP_LAUNCH_CONTEXT (context), NULL);
- g_return_val_if_fail (G_IS_APP_INFO (info), NULL);
+ g_return_val_if_fail (info == NULL || G_IS_APP_INFO (info), NULL);
class = G_APP_LAUNCH_CONTEXT_GET_CLASS (context);
--
2.52.0