From 70f301439076f3390937034ee8a5d07a8284588b Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 8 Apr 2023 23:34:46 +0200 Subject: [PATCH] fix: Some more popup rendering issues --- plugins/builtin/include/content/helpers/diagrams.hpp | 6 +++--- .../builtin/include/content/popups/popup_file_chooser.hpp | 4 ++-- .../builtin/include/content/views/view_pattern_editor.hpp | 4 ++++ plugins/builtin/source/content/events.cpp | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/builtin/include/content/helpers/diagrams.hpp b/plugins/builtin/include/content/helpers/diagrams.hpp index 50400e5a0..a8c9f6d45 100644 --- a/plugins/builtin/include/content/helpers/diagrams.hpp +++ b/plugins/builtin/include/content/helpers/diagrams.hpp @@ -771,7 +771,7 @@ namespace hex { this->m_byteCount++; if (((this->m_byteCount % this->m_blockSize) == 0) || this->m_byteCount == (this->m_endAddress - this->m_startAddress)) [[unlikely]] { auto typeDist = calculateTypeDistribution(this->m_blockValueCounts, this->m_blockSize); - for (u8 i = 0; i < typeDist.size(); i++) + for (size_t i = 0; i < typeDist.size(); i++) this->m_yBlockTypeDistributions[i][this->m_blockCount] = typeDist[i] * 100; this->m_blockCount += 1; @@ -858,7 +858,7 @@ namespace hex { this->m_byteCount++; if (((this->m_byteCount % this->m_blockSize) == 0) || this->m_byteCount == (this->m_endAddress - this->m_startAddress)) [[unlikely]] { auto typeDist = calculateTypeDistribution(this->m_blockValueCounts, this->m_blockSize); - for (u8 i = 0; i < typeDist.size(); i++) + for (size_t i = 0; i < typeDist.size(); i++) this->m_yBlockTypeDistributions[i][this->m_blockCount] = typeDist[i] * 100; this->m_blockCount += 1; @@ -871,7 +871,7 @@ namespace hex { void processFinalize() { // Only save at most m_sampleSize elements of the result - for (u8 i = 0; i < this->m_yBlockTypeDistributions.size(); ++i) + for (size_t i = 0; i < this->m_yBlockTypeDistributions.size(); ++i) this->m_yBlockTypeDistributions[i] = sampleData(this->m_yBlockTypeDistributions[i], std::min(this->m_blockCount, this->m_sampleSize)); size_t stride = std::max(1.0, double(this->m_blockCount / this->m_yBlockTypeDistributions[0].size())) + 1; diff --git a/plugins/builtin/include/content/popups/popup_file_chooser.hpp b/plugins/builtin/include/content/popups/popup_file_chooser.hpp index 768bb1853..9e6ff9144 100644 --- a/plugins/builtin/include/content/popups/popup_file_chooser.hpp +++ b/plugins/builtin/include/content/popups/popup_file_chooser.hpp @@ -52,7 +52,7 @@ namespace hex::plugin::builtin { if (ImGui::Button("hex.builtin.common.open"_lang) || doubleClicked) { for (const auto &index : this->m_indices) this->m_openCallback(this->m_files[index]); - ImGui::CloseCurrentPopup(); + Popup::close(); } ImGui::SameLine(); @@ -60,7 +60,7 @@ namespace hex::plugin::builtin { if (ImGui::Button("hex.builtin.common.browse"_lang)) { fs::openFileBrowser(fs::DialogMode::Open, this->m_validExtensions, [this](const auto &path) { this->m_openCallback(path); - ImGui::CloseCurrentPopup(); + Popup::close(); }, {}, this->m_multiple); } } diff --git a/plugins/builtin/include/content/views/view_pattern_editor.hpp b/plugins/builtin/include/content/views/view_pattern_editor.hpp index 77abbc2f9..a66527e29 100644 --- a/plugins/builtin/include/content/views/view_pattern_editor.hpp +++ b/plugins/builtin/include/content/views/view_pattern_editor.hpp @@ -86,6 +86,10 @@ namespace hex::plugin::builtin { Popup::close(); } + [[nodiscard]] ImGuiWindowFlags getFlags() const override { + return ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize; + } + private: ViewPatternEditor *m_view; }; diff --git a/plugins/builtin/source/content/events.cpp b/plugins/builtin/source/content/events.cpp index 857151477..2caf52d85 100644 --- a/plugins/builtin/source/content/events.cpp +++ b/plugins/builtin/source/content/events.cpp @@ -56,7 +56,7 @@ namespace hex::plugin::builtin { EventManager::subscribe([](hex::prv::Provider *provider, bool *shouldClose) { if (provider->isDirty()) { *shouldClose = false; - PopupQuestion::open("hex.builtin.popup.close_provider.desc", + PopupQuestion::open("hex.builtin.popup.close_provider.desc"_lang, []{ ImHexApi::Provider::remove(ImHexApi::Provider::impl::getClosingProvider(), true); PopupQuestion::close();