Skip to content

Commit

Permalink
Merge pull request #4434 from dmitrio95/280215-element-destruction-ed…
Browse files Browse the repository at this point in the history
…itdata

fix #280215: reset edited element pointer in ScoreView on element destruction
  • Loading branch information
anatoly-os committed Dec 18, 2018
2 parents c49e3c3 + a9a8608 commit 410bc92
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 0 deletions.
2 changes: 2 additions & 0 deletions libmscore/mscoreview.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ class MuseScoreView {
virtual void lyricsMinus() {}
virtual void lyricsUnderscore() {}

virtual void onElementDestruction(Element*) {}

virtual const QRect geometry() const = 0;
};

Expand Down
2 changes: 2 additions & 0 deletions libmscore/score.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,8 @@ void Score::onElementDestruction(Element* e)
return;
}
score->selection().remove(e);
for (MuseScoreView* v : score->viewer)
v->onElementDestruction(e);
}

//---------------------------------------------------------
Expand Down
10 changes: 10 additions & 0 deletions mscore/scoreview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4405,6 +4405,16 @@ Element* ScoreView::getEditElement()
return editData.element;
}

//---------------------------------------------------------
// onElementDestruction
//---------------------------------------------------------

void ScoreView::onElementDestruction(Element* e)
{
if (editData.element == e)
editData.element = nullptr;
}

//---------------------------------------------------------
// startNoteEntryMode
//---------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions mscore/scoreview.h
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,7 @@ class ScoreView : public QWidget, public MuseScoreView {
void setOmrView(OmrView* v) { _omrView = v; }
FotoLasso* fotoLasso() const { return _foto; }
Element* getEditElement();
void onElementDestruction(Element*) override;

virtual Element* elementNear(QPointF);
// void editFretDiagram(FretDiagram*);
Expand Down

0 comments on commit 410bc92

Please sign in to comment.