diff --git a/src/dcc-update-plugin/operation/updateiteminfo.cpp b/src/dcc-update-plugin/operation/updateiteminfo.cpp index 9cab147f..f8488dc3 100644 --- a/src/dcc-update-plugin/operation/updateiteminfo.cpp +++ b/src/dcc-update-plugin/operation/updateiteminfo.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2023 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -104,6 +104,11 @@ void UpdateItemInfo::addDetailInfo(DetailInfo detailInfo) m_detailInfos.append(std::move(detailInfo)); } +void UpdateItemInfo::clearDetailInfos() +{ + m_detailInfos.clear(); +} + void UpdateItemInfo::setPackages(const QStringList& packages) { qCDebug(logDccUpdatePlugin) << "Set packages count:" << packages.size() << "for item:" << m_name; diff --git a/src/dcc-update-plugin/operation/updateiteminfo.h b/src/dcc-update-plugin/operation/updateiteminfo.h index e41b54f9..add3d0b7 100644 --- a/src/dcc-update-plugin/operation/updateiteminfo.h +++ b/src/dcc-update-plugin/operation/updateiteminfo.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2023 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -50,6 +50,7 @@ class UpdateItemInfo : public QObject { QList detailInfos() const; void setDetailInfos(QList& detailInfos); void addDetailInfo(DetailInfo detailInfo); + void clearDetailInfos(); void setUpdateModeEnabled(bool enable) { m_enabled = enable; } bool isUpdateModeEnabled() const { return m_enabled; } diff --git a/src/dcc-update-plugin/operation/updateloghelper.cpp b/src/dcc-update-plugin/operation/updateloghelper.cpp index 24640c21..e0c5372b 100644 --- a/src/dcc-update-plugin/operation/updateloghelper.cpp +++ b/src/dcc-update-plugin/operation/updateloghelper.cpp @@ -95,6 +95,7 @@ void UpdateLogHelper::handleSystem(const QJsonArray &log) void UpdateLogHelper::handleSecurity(const QJsonObject &log) { qCDebug(logDccUpdatePlugin) << "Handling security log with" << log.keys().size() << "entries"; + m_securityLog.clear(); for (const auto& key : log.keys()) { const auto& obj = log.value(key).toObject(); if (obj.isEmpty()) @@ -141,6 +142,8 @@ void UpdateLogHelper::handleSystemItemInfo(UpdateItemInfo *itemInfo) const return; } + itemInfo->setCurrentVersion(""); + itemInfo->clearDetailInfos(); for (const auto &log : m_systemLog) { const QString& explain = getLanguageType() == "CN" ? log.cnLog : log.enLog; itemInfo->setBaseline(log.baseline); @@ -170,6 +173,7 @@ void UpdateLogHelper::handleSecurityItemInfo(UpdateItemInfo *itemInfo) const return; } + itemInfo->clearDetailInfos(); QMap vulCount; for (const auto &log : m_securityLog) { // 写入最近的更新