Skip to content

Commit

Permalink
Fix position of mensural dots at the end of a system
Browse files Browse the repository at this point in the history
Fixes #3524
  • Loading branch information
lpugin committed Sep 30, 2023
1 parent 69b92ef commit 6fb5fdf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
3 changes: 2 additions & 1 deletion include/vrv/preparedatafunctor.h
Original file line number Diff line number Diff line change
Expand Up @@ -620,14 +620,15 @@ class PreparePointersByLayerFunctor : public Functor {
/*
* Abstract base implementation
*/
bool ImplementsEndInterface() const override { return false; }
bool ImplementsEndInterface() const override { return true; }

/*
* Functor interface
*/
///@{
FunctorCode VisitDot(Dot *dot) override;
FunctorCode VisitLayerElement(LayerElement *layerElement) override;
FunctorCode VisitMeasureEnd(Measure *measure) override;
///@}

protected:
Expand Down
10 changes: 10 additions & 0 deletions src/preparedatafunctor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,16 @@ FunctorCode PreparePointersByLayerFunctor::VisitLayerElement(LayerElement *layer
return FUNCTOR_CONTINUE;
}

FunctorCode PreparePointersByLayerFunctor::VisitMeasureEnd(Measure *measure)
{
if (m_lastDot) {
m_lastDot->m_drawingNextElement = measure->GetRightBarLine();
m_lastDot = NULL;
}

return FUNCTOR_CONTINUE;
}

//----------------------------------------------------------------------------
// PrepareLyricsFunctor
//----------------------------------------------------------------------------
Expand Down

0 comments on commit 6fb5fdf

Please sign in to comment.