mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-apps/xdg-desktop-portal-gnome: backport Valgrind fix to 46.2-r1
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/commit/7c440350b17a6007d2054db741340993b6e9aac7
|
||||
|
||||
From 7c440350b17a6007d2054db741340993b6e9aac7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||
Date: Mon, 27 May 2024 10:56:00 +0200
|
||||
Subject: [PATCH] screencast: Fix valgrind warning
|
||||
|
||||
Fixes the following warning when cancelling a screen cast dialog.
|
||||
|
||||
==343654== Invalid read of size 8
|
||||
==343654== at 0x48486A: screen_cast_dialog_handle_free (screencast.c:103)
|
||||
==343654== by 0x4848F9: screen_cast_dialog_handle_close (screencast.c:113)
|
||||
==343654== by 0x48640D: screen_cast_session_close (screencast.c:916)
|
||||
==343654== by 0x489BE6: session_close (session.c:87)
|
||||
==343654== by 0x489C7B: handle_close (session.c:117)
|
||||
==343654== by 0x410696: _g_dbus_codegen_marshal_BOOLEAN__OBJECT (xdg-desktop-portal-dbus.c:444)
|
||||
==343654== by 0x436254: xdp_impl_session_method_marshal_close (xdg-desktop-portal-dbus.c:28756)
|
||||
==343654== by 0x4CF9567: g_closure_invoke (gclosure.c:833)
|
||||
==343654== by 0x4D0C5FB: signal_emit_unlocked_R.isra.0 (gsignal.c:3928)
|
||||
==343654== by 0x4D1311A: signal_emitv_unlocked (gsignal.c:3212)
|
||||
==343654== by 0x4D1311A: g_signal_emitv (gsignal.c:3112)
|
||||
==343654== by 0x43772F: _xdp_impl_session_skeleton_handle_method_call (xdg-desktop-portal-dbus.c:29485)
|
||||
==343654== by 0x4C24D21: g_dbus_interface_method_dispatch_helper (gdbusinterfaceskeleton.c:618)
|
||||
==343654== Address 0x1c5acb10 is 16 bytes inside a block of size 40 free'd
|
||||
==343654== at 0x4845B2C: free (vg_replace_malloc.c:985)
|
||||
==343654== by 0x4848DE: screen_cast_dialog_handle_free (screencast.c:107)
|
||||
==343654== by 0x4848F9: screen_cast_dialog_handle_close (screencast.c:113)
|
||||
==343654== by 0x484C9C: on_request_handle_close_cb (screencast.c:216)
|
||||
==343654== by 0x410696: _g_dbus_codegen_marshal_BOOLEAN__OBJECT (xdg-desktop-portal-dbus.c:444)
|
||||
==343654== by 0x42EE5A: xdp_impl_request_method_marshal_close (xdg-desktop-portal-dbus.c:24008)
|
||||
==343654== by 0x4CF9567: g_closure_invoke (gclosure.c:833)
|
||||
==343654== by 0x4D0BFC8: signal_emit_unlocked_R.isra.0 (gsignal.c:3888)
|
||||
==343654== by 0x4D1311A: signal_emitv_unlocked (gsignal.c:3212)
|
||||
==343654== by 0x4D1311A: g_signal_emitv (gsignal.c:3112)
|
||||
==343654== by 0x42FE83: _xdp_impl_request_skeleton_handle_method_call (xdg-desktop-portal-dbus.c:24590)
|
||||
==343654== by 0x4C24D21: g_dbus_interface_method_dispatch_helper (gdbusinterfaceskeleton.c:618)
|
||||
==343654== by 0x4C0A837: call_in_idle_cb (gdbusconnection.c:5013)
|
||||
|
||||
|
||||
(cherry picked from commit 9a4dffaf775f6bdb372768f568167fa2c1187257)
|
||||
---
|
||||
src/screencast.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/screencast.c b/src/screencast.c
|
||||
index 33d1af3..4bc993f 100644
|
||||
--- a/src/screencast.c
|
||||
+++ b/src/screencast.c
|
||||
@@ -211,9 +211,12 @@ on_request_handle_close_cb (XdpImplRequest *object,
|
||||
GDBusMethodInvocation *invocation,
|
||||
ScreenCastDialogHandle *dialog_handle)
|
||||
{
|
||||
- cancel_start_session (dialog_handle->session, 2);
|
||||
+ ScreenCastSession *screen_cast_session = dialog_handle->session;
|
||||
|
||||
- screen_cast_dialog_handle_close (dialog_handle);
|
||||
+ cancel_start_session (screen_cast_session, 2);
|
||||
+
|
||||
+ g_clear_pointer (&screen_cast_session->dialog_handle,
|
||||
+ screen_cast_dialog_handle_close);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
@@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit gnome.org meson systemd xdg
|
||||
|
||||
DESCRIPTION="Backend implementation for xdg-desktop-portal using GNOME"
|
||||
HOMEPAGE="https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="wayland X"
|
||||
|
||||
# Newer-than-strictly-required xdg-desktop-portal dep for hang/slowness fixes
|
||||
# https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/issues/74
|
||||
DEPEND="
|
||||
dev-libs/glib:2
|
||||
gnome-base/gnome-desktop:4=
|
||||
>=gui-libs/libadwaita-1.4.0:1
|
||||
media-libs/fontconfig
|
||||
sys-apps/dbus
|
||||
>=sys-apps/xdg-desktop-portal-1.18.2
|
||||
>=sys-apps/xdg-desktop-portal-gtk-1.14.0
|
||||
gui-libs/gtk:4[wayland?,X?]
|
||||
X? ( x11-libs/libX11 )
|
||||
wayland? ( dev-libs/wayland )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/gdbus-codegen
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-46.2-valgrind.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Dsystemduserunitdir="$(systemd_get_userunitdir)"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user