From 654bf00f042393d436ac9c68b4fb145a48600fdb Mon Sep 17 00:00:00 2001 From: xiepengfei Date: Thu, 12 Mar 2026 09:49:45 +0800 Subject: [PATCH] fix: Fix the touch screen vertical swipe dragging issue Fix the touch screen vertical swipe dragging issue Log: Fix the touch screen vertical swipe dragging issue pms: BUG-351197 --- dde-clipboard/listview.cpp | 10 +++++----- dde-clipboard/listview.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dde-clipboard/listview.cpp b/dde-clipboard/listview.cpp index 73030ecb..750b72fe 100644 --- a/dde-clipboard/listview.cpp +++ b/dde-clipboard/listview.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -78,13 +78,13 @@ void ListView::mouseMoveEvent(QMouseEvent *event) setCurrentIndex(index); } - // 如果是触摸屏,当鼠标拖动到剪切板外部的时候才认为是拖拽行为,否则认为是滑动剪切板列表。 - if (((event->source() == Qt::MouseEventSynthesizedByQt && !geometry().contains(event->pos())) - || event->source() != Qt::MouseEventSynthesizedByQt) && m_mousePressed) { + if (m_mousePressed && !geometry().contains(event->pos())) { m_mousePressed = false; if (m_mimeData) { QDrag *drag = new QDrag(this); - drag->setMimeData(m_mimeData); + QMimeData *mimeData = m_mimeData; + m_mimeData = nullptr; + drag->setMimeData(mimeData); drag->exec(Qt::CopyAction); } } diff --git a/dde-clipboard/listview.h b/dde-clipboard/listview.h index 60085ea7..78a04daa 100644 --- a/dde-clipboard/listview.h +++ b/dde-clipboard/listview.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later