From 7024460b85ff7df5795b5d603154f8d11389053e Mon Sep 17 00:00:00 2001 From: James Mizen Date: Mon, 24 Feb 2025 08:11:33 +0000 Subject: [PATCH] Fix crash on deleting timesig --- src/engraving/rendering/score/systemlayout.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/engraving/rendering/score/systemlayout.cpp b/src/engraving/rendering/score/systemlayout.cpp index 2d81ff6da201f..4f65811488e5d 100644 --- a/src/engraving/rendering/score/systemlayout.cpp +++ b/src/engraving/rendering/score/systemlayout.cpp @@ -1417,10 +1417,14 @@ void SystemLayout::layoutSystemElements(System* system, LayoutContext& ctx) } if (s->isType(SegmentType::TimeSigType)) { - TimeSig* ts = toTimeSig(s->element(e->track())); - TimeSigPlacement timeSigPlacement = ts->style().styleV(Sid::timeSigPlacement).value(); + EngravingItem* el = s->element(e->track()); + TimeSig* timeSig = el ? toTimeSig(el) : nullptr; + if (!timeSig) { + continue; + } + TimeSigPlacement timeSigPlacement = timeSig->style().styleV(Sid::timeSigPlacement).value(); if (timeSigPlacement == TimeSigPlacement::ACROSS_STAVES) { - if (!ts->showOnThisStaff()) { + if (!timeSig->showOnThisStaff()) { e->mutldata()->reset(); } continue;