From a524e68f5a179b17a2e7aa6854c491b73ab84d54 Mon Sep 17 00:00:00 2001 From: Eism Date: Mon, 22 Jun 2026 10:59:10 +0300 Subject: [PATCH 1/2] updated the framework --- muse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/muse b/muse index 5a48cf5db1db3..fb98dcc034157 160000 --- a/muse +++ b/muse @@ -1 +1 @@ -Subproject commit 5a48cf5db1db3cddd1369df7ecde977842fe5998 +Subproject commit fb98dcc03415797a0afdbd402a965a1d2f189bab From 075814138182d3fdb04a8d4768d38d5e60763576 Mon Sep 17 00:00:00 2001 From: Eism Date: Mon, 22 Jun 2026 11:01:22 +0300 Subject: [PATCH 2/2] delete palette score on context destroy, instead of init We register the EngravingModule before the PaletteModule, but also delete it in the same order. The EngravingContext deletes the paletteScore, but later, the PaletteContext deletes cells, which in turn access the deleted paletteScore. --- src/engraving/engravingmodule.cpp | 2 +- src/engraving/engravingmodule.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engraving/engravingmodule.cpp b/src/engraving/engravingmodule.cpp index 7eba2a15229c3..93cba57172362 100644 --- a/src/engraving/engravingmodule.cpp +++ b/src/engraving/engravingmodule.cpp @@ -293,7 +293,7 @@ void EngravingContext::onInit(const muse::IApplication::RunMode&) #endif } -void EngravingContext::onDeinit() +void EngravingContext::onDestroy() { #ifndef ENGRAVING_NO_INTERNAL m_paletteScoreProvider->deinit(); diff --git a/src/engraving/engravingmodule.h b/src/engraving/engravingmodule.h index 7e4612fc62bd7..2edd30057bbf6 100644 --- a/src/engraving/engravingmodule.h +++ b/src/engraving/engravingmodule.h @@ -60,7 +60,7 @@ class EngravingContext : public muse::modularity::IContextSetup void registerExports() override; void onInit(const muse::IApplication::RunMode& mode) override; - void onDeinit() override; + void onDestroy() override; private: