diff --git a/lib/external/pattern_language b/lib/external/pattern_language index 8be168053..82bea525e 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit 8be168053e622f0ecbe29f05c39f55f3844d75e4 +Subproject commit 82bea525ec3985c882be0eef0ff72dceb23712e4 diff --git a/plugins/builtin/source/content/pl_builtin_types.cpp b/plugins/builtin/source/content/pl_builtin_types.cpp index e511fc22d..fd2166fe4 100644 --- a/plugins/builtin/source/content/pl_builtin_types.cpp +++ b/plugins/builtin/source/content/pl_builtin_types.cpp @@ -26,7 +26,7 @@ namespace hex::plugin::builtin { PatternEncodedString(pl::core::Evaluator *evaluator, u64 offset, size_t size, u32 line) : Pattern(evaluator, offset, size, line) { } - [[nodiscard]] std::unique_ptr clone() const override { + [[nodiscard]] std::shared_ptr clone() const override { return std::unique_ptr(new PatternEncodedString(*this)); } diff --git a/plugins/disassembler/source/content/pl_builtin_types.cpp b/plugins/disassembler/source/content/pl_builtin_types.cpp index 04dd77f48..c94130e60 100644 --- a/plugins/disassembler/source/content/pl_builtin_types.cpp +++ b/plugins/disassembler/source/content/pl_builtin_types.cpp @@ -20,7 +20,7 @@ namespace hex::plugin::disasm { PatternInstruction(pl::core::Evaluator *evaluator, u64 offset, size_t size, u32 line) : Pattern(evaluator, offset, size, line) { } - [[nodiscard]] std::unique_ptr clone() const override { + [[nodiscard]] std::shared_ptr clone() const override { return std::unique_ptr(new PatternInstruction(*this)); } diff --git a/plugins/ui/include/ui/pattern_drawer.hpp b/plugins/ui/include/ui/pattern_drawer.hpp index 29e680b02..9e45dfc97 100644 --- a/plugins/ui/include/ui/pattern_drawer.hpp +++ b/plugins/ui/include/ui/pattern_drawer.hpp @@ -125,8 +125,8 @@ namespace hex::ui { std::vector m_filteredPatterns; std::vector m_currPatternPath; - std::map, std::unique_ptr> m_favorites; - std::map>> m_groups; + std::map, std::shared_ptr> m_favorites; + std::map>> m_groups; bool m_showFavoriteStars = false; bool m_filtersUpdated = false; bool m_showSpecName = false; diff --git a/plugins/ui/source/ui/pattern_drawer.cpp b/plugins/ui/source/ui/pattern_drawer.cpp index 9008dc20c..dfc229849 100644 --- a/plugins/ui/source/ui/pattern_drawer.cpp +++ b/plugins/ui/source/ui/pattern_drawer.cpp @@ -1418,7 +1418,7 @@ namespace hex::ui { if (!arguments.empty()) { const auto &groupName = arguments.front().toString(); if (!m_groups.contains(groupName)) - m_groups.insert({ groupName, std::vector>() }); + m_groups.insert({ groupName, { } }); m_groups[groupName].push_back(pattern->clone()); }