From a5a1946bdbb7e4ede546bd8be2210d383ac362e6 Mon Sep 17 00:00:00 2001 From: Dmitri Ovodok Date: Sat, 22 Dec 2018 12:48:32 +0200 Subject: [PATCH] fix #280442: fix a crash on hiding all staves if there are system elements --- libmscore/element.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libmscore/element.cpp b/libmscore/element.cpp index b17845bbf3ff..7752206f6f70 100644 --- a/libmscore/element.cpp +++ b/libmscore/element.cpp @@ -2139,7 +2139,13 @@ void Element::autoplaceSegmentElement(qreal minDistance) if (visible() && autoplace() && parent()) { Segment* s = toSegment(parent()); Measure* m = s->measure(); - int si = systemFlag() ? m->system()->firstVisibleStaff() : staffIdx(); + + int si = staffIdx(); + if (systemFlag()) { + const int firstVis = m->system()->firstVisibleStaff(); + if (firstVis < score()->nstaves()) + si = firstVis; + } SysStaff* ss = m->system()->staff(si); QRectF r = bbox().translated(m->pos() + s->pos() + pos());