From bd43e95737c28c13983f0c96b762771988ab8eb7 Mon Sep 17 00:00:00 2001 From: deepin-wm Date: Tue, 30 Jun 2026 15:23:31 +0800 Subject: [PATCH] fix: reset partialFactor in C++ exit path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Add qFuzzyCompare guard to reset m_partialFactor in exit() consistent with updatePartialFactor() style 2. Remove invalid QML assignment to read-only partialFactor property in MultitaskviewProxy.qml 3. Update copyright year in MultitaskviewProxy.qml to 2024-2026 as required by SPDX CI check Influence: 1. Test multitaskview exit resets partialFactor without QML errors 2. Verify gesture exit flow works correctly with factor reset fix: 在C++退出路径中重置partialFactor 1. 在exit()中添加qFuzzyCompare守卫重置m_partialFactor 与updatePartialFactor()风格保持一致 2. 删除MultitaskviewProxy.qml中对只读partialFactor 属性的无效赋值 3. 更新MultitaskviewProxy.qml版权年份为2024-2026 以满足SPDX CI检查要求 Influence: 1. 测试多任务视图退出时partialFactor正常重置且无QML报错 2. 验证手势退出流程中factor重置的正确性 PMS: BUG-346717 --- src/plugins/multitaskview/multitaskview.cpp | 7 +++++++ src/plugins/multitaskview/qml/MultitaskviewProxy.qml | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/multitaskview/multitaskview.cpp b/src/plugins/multitaskview/multitaskview.cpp index e53e1c6d4..6a9321349 100644 --- a/src/plugins/multitaskview/multitaskview.cpp +++ b/src/plugins/multitaskview/multitaskview.cpp @@ -83,6 +83,13 @@ void Multitaskview::exit(SurfaceWrapper *surface, bool immediately) // TODO: handle taskview gesture Q_EMIT aboutToExit(); + if (!qFuzzyCompare(m_partialFactor, 0.0)) { + m_partialFactor = 0.0; + Q_EMIT partialFactorChanged(); + } else { + m_partialFactor = 0.0; + } + if (immediately) { setVisible(false); } else { diff --git a/src/plugins/multitaskview/qml/MultitaskviewProxy.qml b/src/plugins/multitaskview/qml/MultitaskviewProxy.qml index f08ec494d..144187023 100644 --- a/src/plugins/multitaskview/qml/MultitaskviewProxy.qml +++ b/src/plugins/multitaskview/qml/MultitaskviewProxy.qml @@ -1,4 +1,4 @@ -// Copyright (C) 2024 UnionTech Software Technology Co., Ltd. +// Copyright (C) 2024-2026 UnionTech Software Technology Co., Ltd. // SPDX-License-Identifier: Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only import QtQuick @@ -69,7 +69,6 @@ Multitaskview { if (exited) { root.visible = false; - partialFactor = 0; return "initial"; }