DescriptionIssue 5217: Fix sorting order without outside-staff-priority
If the two Grobs have no outside-staff-priority, the compare function
staff_priority_less() would relate the two pointers. This may lead to
changing sorting orders in subsequent runs, apparently resulting in
"random" positions in the regression tests rest-dot-position.ly and
sometimes merge-rests-engraver.ly.
Solve this by keeping the original order in the vector:
* Mark two Grobs without outside-staff-priority as being equal by
always returning false (none is less than the other), and
* use vector_stable_sort() to keep equal items in their relation.
Patch Set 1 #
MessagesTotal messages: 4
|