From 6d3f6d3ae537acdf5d4c49a05aff08b2ca1fe27e Mon Sep 17 00:00:00 2001 From: Jie Liu Date: Fri, 29 Nov 2024 11:25:33 +0800 Subject: [PATCH] datacontrolv1: reset offer if receive null selection Change-Id: Ifc88b5cb54299df9177afe6ed9bcaa46b1fe21fb Reviewed-by: David Edmundson --- .../platforms/wayland/qwaylanddatacontrolv1.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/platforms/wayland/qwaylanddatacontrolv1.cpp b/src/plugins/platforms/wayland/qwaylanddatacontrolv1.cpp index 6d2b60b2db8..1d3a8e33898 100644 --- a/src/plugins/platforms/wayland/qwaylanddatacontrolv1.cpp +++ b/src/plugins/platforms/wayland/qwaylanddatacontrolv1.cpp @@ -96,8 +96,9 @@ void QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_data_offer(zwlr_da void QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_selection(zwlr_data_control_offer_v1 *id) { if (!id) - return; - m_selectionOffer.reset(static_cast(zwlr_data_control_offer_v1_get_user_data(id))); + m_selectionOffer.reset(); + else + m_selectionOffer.reset(static_cast(zwlr_data_control_offer_v1_get_user_data(id))); // The selection event may be sent before platfrmIntegration is set. if (auto* integration = QGuiApplicationPrivate::platformIntegration()) @@ -114,8 +115,9 @@ void QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_finished() void QWaylandDataControlDeviceV1::zwlr_data_control_device_v1_primary_selection(struct ::zwlr_data_control_offer_v1 *id) { if (!id) - return; - m_primarySelectionOffer.reset(static_cast(zwlr_data_control_offer_v1_get_user_data(id))); + m_primarySelectionOffer.reset(); + else + m_primarySelectionOffer.reset(static_cast(zwlr_data_control_offer_v1_get_user_data(id))); // The selection event may be sent before platfrmIntegration is set. if (auto* integration = QGuiApplicationPrivate::platformIntegration())