From e8bb51967bad2a13b718d017629043ea09de4ee6 Mon Sep 17 00:00:00 2001 From: lasconic Date: Thu, 29 Aug 2013 18:42:01 +0200 Subject: [PATCH] fix measure search when instrument is hidden --- libmscore/page.cpp | 8 ++++---- libmscore/score.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libmscore/page.cpp b/libmscore/page.cpp index 921bdc5665..9b0a382549 100644 --- a/libmscore/page.cpp +++ b/libmscore/page.cpp @@ -806,22 +806,22 @@ MeasureBase* Page::pos2measure(const QPointF& p, int* rst, int* pitch, int i; for (i = 0; i < score()->nstaves();) { - SysStaff* staff = s->staff(i); - if (!staff->show()) { + SysStaff* stff = s->staff(i); + if (!stff->show() || !score()->staff(i)->show()) { ++i; continue; } int ni = i; for (;;) { ++ni; - if (ni == score()->nstaves() || s->staff(ni)->show()) + if (ni == score()->nstaves() || (s->staff(ni)->show() && score()->staff(ni)->show())) break; } qreal sy2; if (ni != score()->nstaves()) { SysStaff* nstaff = s->staff(ni); - qreal s1y2 = staff->bbox().y() + staff->bbox().height(); + qreal s1y2 = stff->bbox().y() + stff->bbox().height(); sy2 = s1y2 + (nstaff->bbox().y() - s1y2)/2; } else diff --git a/libmscore/score.cpp b/libmscore/score.cpp index b4235b14f7..c140165c51 100644 --- a/libmscore/score.cpp +++ b/libmscore/score.cpp @@ -601,22 +601,22 @@ MeasureBase* Score::pos2measure(const QPointF& p, int* rst, int* pitch, int i; for (i = 0; i < nstaves();) { - SysStaff* staff = s->staff(i); - if (!staff->show()) { + SysStaff* stff = s->staff(i); + if (!stff->show() || !staff(i)->show()) { ++i; continue; } int ni = i; for (;;) { ++ni; - if (ni == nstaves() || s->staff(ni)->show()) + if (ni == nstaves() || (s->staff(ni)->show() && staff(ni)->show())) break; } qreal sy2; if (ni != nstaves()) { SysStaff* nstaff = s->staff(ni); - qreal s1y2 = staff->bbox().y() + staff->bbox().height(); + qreal s1y2 = stff->bbox().y() + stff->bbox().height(); sy2 = s1y2 + (nstaff->bbox().y() - s1y2)/2; } else