Skip to content

Commit

Permalink
Merge pull request #987 from lasconic/fix-range-select
Browse files Browse the repository at this point in the history
fix selection range when on staff > 1, when reverse selection
  • Loading branch information
lasconic committed Jun 18, 2014
2 parents efa3d75 + c255250 commit 24a6b12
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 13 deletions.
10 changes: 2 additions & 8 deletions libmscore/score.cpp
Expand Up @@ -2809,7 +2809,6 @@ void Score::selectAdd(Element* e)

void Score::selectRange(Element* e, int staffIdx)
{
bool activeIsFirst = false;
int activeTrack = e->track();
if (e->type() == ElementType::MEASURE) {
Measure* m = static_cast<Measure*>(e);
Expand Down Expand Up @@ -2884,7 +2883,7 @@ void Score::selectRange(Element* e, int staffIdx)
_selection.setRange(cr->segment(),
cr->segment()->nextCR(cr->track()),
e->staffIdx(),
_selection.staffStart() + 1);
e->staffIdx() + 1);
activeTrack = cr->track();
}
else if (_selection.isSingle()) {
Expand All @@ -2901,7 +2900,7 @@ void Score::selectRange(Element* e, int staffIdx)
_selection.setRange(ocr->segment(),
endSeg,
oe->staffIdx(),
_selection.staffStart() + 1);
oe->staffIdx() + 1);

_selection.extendRangeSelection(cr);

Expand All @@ -2928,11 +2927,6 @@ void Score::selectRange(Element* e, int staffIdx)
return;
}

if (activeIsFirst)
_selection.setActiveSegment(_selection.startSegment());
else
_selection.setActiveSegment(_selection.endSegment());

_selection.setActiveTrack(activeTrack);

_selection.updateSelectedElements();
Expand Down
6 changes: 1 addition & 5 deletions libmscore/select.cpp
Expand Up @@ -991,14 +991,10 @@ void Selection::extendRangeSelection(Segment* seg, Segment* segAfter, int staffI
_staffEnd = staffIdx + 1;

if (tick < tickStart()) {
if (_activeSegment == _endSegment)
_endSegment = _startSegment;
_startSegment = seg;
activeIsFirst = true;
}
else if (_endSegment && etick >= tickEnd()) {
if (_activeSegment == _startSegment)
_startSegment = _endSegment;
else if (etick >= tickEnd()) {
_endSegment = segAfter;
}
else {
Expand Down

0 comments on commit 24a6b12

Please sign in to comment.