From 9dcfb6cc9b650d8749b0343a21482787ab3b3e82 Mon Sep 17 00:00:00 2001 From: Gwilherm Folliot Date: Mon, 27 Jan 2025 08:33:18 +0100 Subject: [PATCH] fix: Wrong cb_activated signature in input-capture The options argument was missing so the argument data wasn't the right one and the method cb_disabled was actually called on a GVariant* instead on a PortalInputCapture* --- src/lib/platform/PortalInputCapture.cpp | 3 ++- src/lib/platform/PortalInputCapture.h | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/platform/PortalInputCapture.cpp b/src/lib/platform/PortalInputCapture.cpp index f4dd80e9a..b48f01db8 100644 --- a/src/lib/platform/PortalInputCapture.cpp +++ b/src/lib/platform/PortalInputCapture.cpp @@ -1,5 +1,6 @@ /* * Deskflow -- mouse and keyboard sharing utility + * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers * SPDX-FileCopyrightText: (C) 2024 Symless Ltd. * SPDX-FileCopyrightText: (C) 2022 Red Hat, Inc. * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception @@ -241,7 +242,7 @@ void PortalInputCapture::release(double x, double y) is_active_ = false; } -void PortalInputCapture::cb_disabled(XdpInputCaptureSession *session) +void PortalInputCapture::cb_disabled(XdpInputCaptureSession *session, GVariant *option) { LOG_DEBUG("portal cb disabled"); diff --git a/src/lib/platform/PortalInputCapture.h b/src/lib/platform/PortalInputCapture.h index 233537470..67a8fbd57 100644 --- a/src/lib/platform/PortalInputCapture.h +++ b/src/lib/platform/PortalInputCapture.h @@ -1,5 +1,6 @@ /* * Deskflow -- mouse and keyboard sharing utility + * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers * SPDX-FileCopyrightText: (C) 2024 Symless Ltd. * SPDX-FileCopyrightText: (C) 2022 Red Hat, Inc. * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception @@ -38,7 +39,7 @@ private: void cb_init_input_capture_session(GObject *object, GAsyncResult *res); void cb_set_pointer_barriers(GObject *object, GAsyncResult *res); void cb_session_closed(XdpSession *session); - void cb_disabled(XdpInputCaptureSession *session); + void cb_disabled(XdpInputCaptureSession *session, GVariant *option); void cb_activated(XdpInputCaptureSession *session, std::uint32_t activation_id, GVariant *options); void cb_deactivated(XdpInputCaptureSession *session, std::uint32_t activation_id, GVariant *options); void cb_zones_changed(XdpInputCaptureSession *session, GVariant *options); @@ -48,9 +49,9 @@ private: { reinterpret_cast(data)->cb_session_closed(session); } - static void cb_disabled_cb(XdpInputCaptureSession *session, gpointer data) + static void cb_disabled_cb(XdpInputCaptureSession *session, GVariant *options, gpointer data) { - reinterpret_cast(data)->cb_disabled(session); + reinterpret_cast(data)->cb_disabled(session, options); } static void cb_activated_cb(XdpInputCaptureSession *session, std::uint32_t activation_id, GVariant *options, gpointer data)