Skip to content

Commit

Permalink
Fixes bug in the AutomationPattern copy-ctor (LMMS#5968)
Browse files Browse the repository at this point in the history
On the AutomationPattern copy constructor, the automation nodes
were copied from the origin pattern but their "owner pattern" pointers
weren't updated.
	Thanks Dom for finding and reporting this bug.
  • Loading branch information
IanCaio authored Apr 2, 2021
1 parent 79593b3 commit 74f8f1b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
10 changes: 10 additions & 0 deletions include/AutomationNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,16 @@ class AutomationNode
m_outTangent = tangent;
}

/**
* @brief Sets the pattern this node belongs to
* @param AutomationPattern* pattern that m_pattern will be
* set to
*/
inline void setPattern(AutomationPattern* pat)
{
m_pattern = pat;
}

private:
// Pattern that this node belongs to
AutomationPattern* m_pattern;
Expand Down
2 changes: 2 additions & 0 deletions src/core/AutomationPattern.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ AutomationPattern::AutomationPattern( const AutomationPattern & _pat_to_copy ) :
{
// Copies the automation node (in/out values and in/out tangents)
m_timeMap[POS(it)] = it.value();
// Sets the node's pattern to this one
m_timeMap[POS(it)].setPattern(this);
}
if (!getTrack()){ return; }
switch( getTrack()->trackContainer()->type() )
Expand Down

0 comments on commit 74f8f1b

Please sign in to comment.