From 224066836a39277fba4635ee17b1ea28d3d5f427 Mon Sep 17 00:00:00 2001 From: donghualin Date: Wed, 30 Nov 2022 09:34:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=98=BE=E7=A4=BA=E5=A4=9A=E6=9D=A1=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=8E=A7=E4=BB=B6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因:插件在多次调用itemAdded方法,导致条件到列表中的控件重复 修改:过滤掉重复加载的插件,保证同一个插件在控制中心只显示一次 Log: Influence: 控制中心-个性化,观察蓝牙或者任务栏等插件是否只显示一次 Bug: https://pms.uniontech.com/bug-view-171581.html Change-Id: I52912c0c51159df1f84ed16dcbe891c346a6bfaa --- frame/util/abstractpluginscontroller.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frame/util/abstractpluginscontroller.cpp b/frame/util/abstractpluginscontroller.cpp index 4f143a562..3f632ed5b 100644 --- a/frame/util/abstractpluginscontroller.cpp +++ b/frame/util/abstractpluginscontroller.cpp @@ -86,6 +86,10 @@ void AbstractPluginsController::removeValue(PluginsItemInterface *const itemInte void AbstractPluginsController::itemAdded(PluginsItemInterface * const itemInter, const QString &itemKey) { PluginsItemInterface *pluginItem = getPluginInterface(itemInter); + + if (m_pluginExists.contains(pluginItem)) + return; + PluginAdapter *pluginAdapter = dynamic_cast(pluginItem); if (pluginAdapter) pluginAdapter->setItemKey(itemKey);