From 3b3e246501083422aa68b13074fc3ed771dd45cf Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 21 Nov 2025 22:23:30 +0200 Subject: [PATCH] only emit changes when the count changes Signed-off-by: Trial97 --- launcher/minecraft/mod/ModFolderModel.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/launcher/minecraft/mod/ModFolderModel.cpp b/launcher/minecraft/mod/ModFolderModel.cpp index 85473c92e..8b849dc43 100644 --- a/launcher/minecraft/mod/ModFolderModel.cpp +++ b/launcher/minecraft/mod/ModFolderModel.cpp @@ -310,10 +310,12 @@ void ModFolderModel::onParseFinished() } for (auto mod : mods) { auto id = mod->mod_id(); - mod->setRequiredByCount(m_requiredBy[id].count()); - mod->setRequiresCount(m_requires[id].count()); - int row = m_resources_index[mod->internal_id()]; - emit dataChanged(index(row), index(row, columnCount(QModelIndex()) - 1)); + if (mod->requiredByCount() != m_requiredBy[id].count() || mod->requiresCount() != m_requires[id].count()) { + mod->setRequiredByCount(m_requiredBy[id].count()); + mod->setRequiresCount(m_requires[id].count()); + int row = m_resources_index[mod->internal_id()]; + emit dataChanged(index(row), index(row, columnCount(QModelIndex()) - 1)); + } } } @@ -506,10 +508,12 @@ bool ModFolderModel::deleteResources(const QModelIndexList& indexes) auto id = mod->mod_id(); deleteInvalid(m_requiredBy[id]); deleteInvalid(m_requires[id]); - mod->setRequiredByCount(m_requiredBy[id].count()); - mod->setRequiresCount(m_requires[id].count()); - int row = m_resources_index[mod->internal_id()]; - emit dataChanged(index(row, RequiresColumn), index(row, RequiredByColumn)); + if (mod->requiredByCount() != m_requiredBy[id].count() || mod->requiresCount() != m_requires[id].count()) { + mod->setRequiredByCount(m_requiredBy[id].count()); + mod->setRequiresCount(m_requires[id].count()); + int row = m_resources_index[mod->internal_id()]; + emit dataChanged(index(row, RequiresColumn), index(row, RequiredByColumn)); + } } return rsp; }