From aeba998e1010fbc5017cb4d0e39248e80b070ccf Mon Sep 17 00:00:00 2001 From: Michele Spagnolo Date: Wed, 14 Jun 2023 14:59:40 +0200 Subject: [PATCH 1/3] Remove unnecessary layout call for repositioning old items (they are now all reset anyway) --- src/engraving/rw/read206/read206.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/engraving/rw/read206/read206.cpp b/src/engraving/rw/read206/read206.cpp index e12068f0dcf93..76769d5dd8dd1 100644 --- a/src/engraving/rw/read206/read206.cpp +++ b/src/engraving/rw/read206/read206.cpp @@ -3447,13 +3447,6 @@ Err Read206::readScore(Score* score, XmlReader& e, ReadInOutData* out) compat::CompatUtils::doCompatibilityConversions(score->masterScore()); - // fix positions - // offset = saved offset - layout position - score->doLayout(); - for (auto i : ctx.fixOffsets()) { - i.first->setOffset(i.second - i.first->pos()); - } - return Err::NoError; } From a92372226b57b10326a04106d6c28ff31ea05420 Mon Sep 17 00:00:00 2001 From: Michele Spagnolo Date: Wed, 14 Jun 2023 16:02:08 +0200 Subject: [PATCH 2/3] Unlock updates when migrating, otherwise the score will not be updated --- src/project/internal/projectmigrator.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/project/internal/projectmigrator.cpp b/src/project/internal/projectmigrator.cpp index fad63830f5efb..6205523aba607 100644 --- a/src/project/internal/projectmigrator.cpp +++ b/src/project/internal/projectmigrator.cpp @@ -142,6 +142,7 @@ Ret ProjectMigrator::migrateProject(engraving::EngravingProjectPtr project, cons return make_ret(Ret::Code::InternalError); } + score->lockUpdates(false); score->startCmd(); bool ok = true; From 9ede1c50bd62ab9d475a1298a13ddb853d56a131 Mon Sep 17 00:00:00 2001 From: Michele Spagnolo Date: Mon, 26 Jun 2023 11:51:32 +0200 Subject: [PATCH 3/3] code review correction --- src/project/internal/notationproject.cpp | 2 ++ src/project/internal/projectmigrator.cpp | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/project/internal/notationproject.cpp b/src/project/internal/notationproject.cpp index 78f14d6986e09..f60cae2b297b5 100644 --- a/src/project/internal/notationproject.cpp +++ b/src/project/internal/notationproject.cpp @@ -215,10 +215,12 @@ mu::Ret NotationProject::doLoad(const io::path_t& path, const io::path_t& styleP // Migration if (migrator()) { + masterScore->lockUpdates(false); // because migration needs a second layout ret = migrator()->migrateEngravingProjectIfNeed(m_engravingProject); if (!ret) { return ret; } + masterScore->lockUpdates(true); } // Load style if present diff --git a/src/project/internal/projectmigrator.cpp b/src/project/internal/projectmigrator.cpp index 6205523aba607..fad63830f5efb 100644 --- a/src/project/internal/projectmigrator.cpp +++ b/src/project/internal/projectmigrator.cpp @@ -142,7 +142,6 @@ Ret ProjectMigrator::migrateProject(engraving::EngravingProjectPtr project, cons return make_ret(Ret::Code::InternalError); } - score->lockUpdates(false); score->startCmd(); bool ok = true;