mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-09-29 05:44:14 +02:00
fcbea2dafd
Fourth and last instance of the ordering defect, and the inner half of the one fixed in the previous commit. ProjectDBModel::toXml() builds each section's role list from m_header_data.value(key).keys(), and m_header_data is a QHash<int, QHash<int, QVariant>> -- so both levels are randomised per process. Sorting the sections left the roles inside each section still arriving shuffled, which showed up as <data> children with the same section="0" swapping places between two saves. With this, save idempotence across the shipped examples goes from 6 of 23 to 22 of 24. The two that remain fail for unrelated reasons, not for ordering: schema_indus.qet stores no uuid attribute on its elements at all, so fromXml() invents a fresh one on every load; and affuteuse_250h.qet loses a title block logo's storage attribute and renames a title block template on save. Both are separate defects. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>