From da18428f272332b3fa15568d0e2758a430ba5dcb Mon Sep 17 00:00:00 2001 From: WerWolv Date: Tue, 12 Sep 2023 22:23:47 +0200 Subject: [PATCH] fix: Highlighting not being cleared correctly in some cases --- plugins/builtin/source/content/views/view_bookmarks.cpp | 2 ++ plugins/builtin/source/content/views/view_find.cpp | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/builtin/source/content/views/view_bookmarks.cpp b/plugins/builtin/source/content/views/view_bookmarks.cpp index 2d262f77d..d21298664 100644 --- a/plugins/builtin/source/content/views/view_bookmarks.cpp +++ b/plugins/builtin/source/content/views/view_bookmarks.cpp @@ -39,6 +39,7 @@ namespace hex::plugin::builtin { ImHexApi::Provider::markDirty(); EventManager::post(this->m_bookmarks->back()); + EventManager::post(); }); // Draw hex editor background highlights for bookmarks @@ -374,6 +375,7 @@ namespace hex::plugin::builtin { // Remove the bookmark that was marked for removal if (bookmarkToRemove != this->m_bookmarks->end()) { this->m_bookmarks->erase(bookmarkToRemove); + EventManager::post(); } } ImGui::EndChild(); diff --git a/plugins/builtin/source/content/views/view_find.cpp b/plugins/builtin/source/content/views/view_find.cpp index 058fefd6e..d841fdf3b 100644 --- a/plugins/builtin/source/content/views/view_find.cpp +++ b/plugins/builtin/source/content/views/view_find.cpp @@ -451,6 +451,7 @@ namespace hex::plugin::builtin { } this->m_occurrenceTree->clear(); + EventManager::post(); this->m_searchTask = TaskManager::createTask("hex.builtin.view.find.searching", searchRegion.getSize(), [this, settings = this->m_searchSettings, searchRegion](auto &task) { auto provider = ImHexApi::Provider::get(); @@ -478,6 +479,10 @@ namespace hex::plugin::builtin { for (const auto &occurrence : this->m_foundOccurrences.get(provider)) this->m_occurrenceTree->insert({ occurrence.region.getStartAddress(), occurrence.region.getEndAddress() }, occurrence); + + TaskManager::doLater([] { + EventManager::post(); + }); }); } @@ -821,7 +826,9 @@ namespace hex::plugin::builtin { if (ImGui::Button("hex.builtin.view.find.search.reset"_lang)) { this->m_foundOccurrences->clear(); this->m_sortedOccurrences->clear(); - *this->m_occurrenceTree = {}; + this->m_occurrenceTree->clear(); + + EventManager::post(); } } ImGui::EndDisabled();