From 8868e167c13185f99f0abe6a4f2bf24167399ac2 Mon Sep 17 00:00:00 2001 From: wjyrich Date: Wed, 12 Nov 2025 17:21:27 +0800 Subject: [PATCH] fix: disable dynamic sort filter in task manager proxy model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Set dynamic sort filter to false in TaskManagerProxyModel constructor 2. This prevents automatic resorting when source model data changes 3. Improves performance by reducing unnecessary sorting operations 4. Maintains stable task ordering in the dock panel fix: 在任务管理器代理模型中禁用动态排序过滤器 主要问题在于,关闭wine应用窗口,abstractmonitor发出datachanged后,会导致出现一个insert信号, 原因是出现在taskmanager的boolfilter,Qt内部的QSortilter会出发排序,会触发insert信号,从而多了重复窗口被加入。 后续出现相关类型其他问题,比如出现tooltip,popup等等窗口出现在任务栏,可以优先看这里的问题。 PMS: BUG-339345 --- panels/dock/taskmanager/taskmanager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/panels/dock/taskmanager/taskmanager.cpp b/panels/dock/taskmanager/taskmanager.cpp index e56fd3ee1..6abeeceed 100644 --- a/panels/dock/taskmanager/taskmanager.cpp +++ b/panels/dock/taskmanager/taskmanager.cpp @@ -75,6 +75,7 @@ class BoolFilterModel : public QSortFilterProxyModel, public AbstractTaskManager , m_role(role) { setSourceModel(sourceModel); + setDynamicSortFilter(false); } protected: