From 1415b89614adca023caafd98a66adee716bc9299 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 3 May 2018 22:14:58 +0300 Subject: Fix hiding deleted skills from skill info list without delete packet. This can happend with temporary skills. --- src/gui/windows/skilldialog.cpp | 25 +++++++++++++++++++++++++ src/gui/windows/skilldialog.h | 2 ++ 2 files changed, 27 insertions(+) (limited to 'src/gui/windows') diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp index 8ded2a001..e60465367 100644 --- a/src/gui/windows/skilldialog.cpp +++ b/src/gui/windows/skilldialog.cpp @@ -302,6 +302,31 @@ void SkillDialog::updateModels() } } +void SkillDialog::updateModelsHidden() +{ + std::set models; + + FOR_EACH (SkillMap::const_iterator, it, mSkills) + { + SkillInfo *const info = (*it).second; + if (info != nullptr) + { + if (info->visible == Visible_false) + { + SkillModel *const model = info->model; + if (model != nullptr) + models.insert(model); + } + } + } + FOR_EACH (std::set::iterator, it, models) + { + SkillModel *const model = *it; + if (model != nullptr) + model->updateVisibilities(); + } +} + void SkillDialog::clearSkills() { mTabs->removeAll(true); diff --git a/src/gui/windows/skilldialog.h b/src/gui/windows/skilldialog.h index e5921f82c..41c6b0108 100644 --- a/src/gui/windows/skilldialog.h +++ b/src/gui/windows/skilldialog.h @@ -81,6 +81,8 @@ class SkillDialog final : public Window, void updateModels(); + void updateModelsHidden(); + void loadXmlFile(const std::string &fileName, const SkipError skipError); -- cgit v1.2.3-60-g2f50