src/document/io/LilyPondSegmentsContext.cpp line 803
Code:
if (m_GSSSegIterator->synchronous &&
(m_GSSSegIterator->segment != m_GSSSegment) &&
(m_GSSSegIterator->segment->getStartTime() == m_GSSSegment->getStartTime()) &&
(m_GSSSegIterator->segment != m_GSSSegment)) { // <- identical
return &(*m_GSSSegIterator);
}
Same holds for line 828
Thanks to find this one.
Probably it only is a copy/paste done a bit too quickly.
I'm currently working on the LilyPond exporter. So I'll have a look at it and then fix it in the next days.
Diff:
I now have bug 1632 - taking care of all the cppcheck warnings so that will cover this one too.
I suggest closing this bug
Thanks Philip, but I wrote this code years ago and I understand what happened.
The identical condition was a placeholder where I should have written a missing condition, but I presumably ran some preliminary tests then forgot to complete the code.
This completed code should be:
The funny thing is that I can't find any combination of segments giving a failure with the uncompleted code. The synchronous segments this code erroneously find are eliminated at some next step and everything works fine.
It should only be a bit faster after the correction, but this will not be discernible as the number of segments in a composition is never really huge.
Anyway, the bug is now fixed in branch Fix1630.
OK. Great !!
I will get the update from a merge.
Thanks
Merged as [80ce48]. Please test latest git.
Related
Commit: [80ce48]