- **labels**: --> Fixed_2_21_0
- **status**: Started --> Fixed
- **Patch**: push -->
- **Type**: Enhancement --> Defect
- **Comment**:
pushed to staging as
~~~
commit 152a28103106cbe6556c40dc40a544cf8bd94136
Author: Jonas Hahnfeld <[email protected]>
Date: Tue Nov 5 17:54:41 2019 +0100
Issue 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.
~~~
Please let me know if you're still having issues with the two mentioned
regression tests *after* creating a new `test-baseline`.
---
** [issues:#5217] random results for the merge-rests-engraver regression test**
**Status:** Fixed
**Labels:** Fixed_2_21_0
**Created:** Fri Oct 20, 2017 07:28 AM UTC by Knut Petersen
**Last Updated:** Mon Nov 11, 2019 01:55 PM UTC
**Owner:** Jonas Hahnfeld
**Attachments:**
-
[out-test-baseline-merge-rests-engraver.png](https://sourceforge.net/p/testlilyissues/issues/5217/attachment/out-test-baseline-merge-rests-engraver.png)
(23.8 kB; image/png)
-
[out-test-merge-rests-engraver.png](https://sourceforge.net/p/testlilyissues/issues/5217/attachment/out-test-merge-rests-engraver.png)
(23.7 kB; image/png)
There is some randomness in the placement of dots. The merge-rests-engraver.ly
regtest (git-version557dc7) exposes the problem as the output might be one of
the two attached pngs. The probability for both results is identical on my
system.
**Update Nov 5th 2019**
Issue 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.
http://codereview.appspot.com/554960043
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/testlilyissues/issues/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is
a mailing list, you can unsubscribe from the mailing list._______________________________________________
Testlilyissues-auto mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto