[MusicXML import] check code for white space issues
Reported version
3.6
Type
Functional
Severity
S5 - Suggestion
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
See #315904: [MusicXML import] incomplete import from ScoreScan XML file, the solution fixes only the technical/fingering case, but the same problem may be present elsewhere. Also, using readNext() may be incorrect, as it does not check what type of element is read, meaning endElements may incorrectly be skipped.
Fix version
4.0.0
Comments
Relates to #270643: [EPIC] MusicXML import/export issues
Possibly related: #320995: Will not willingly upload MusicXML and MXL files
(maybe not, but: #319210: MusicXML import detect corrupted file when the file is minified)
Found one incorrect readNext() in MusicXMLParserNotations::technical(), which must be removed. Will replace the remaining ones with skipCurrentElement(), which is not sensitive to whitespace.
Fix implemented, PR still to be created.
PR for master: https://github.com/musescore/MuseScore/pull/8833
Fixed in branch master, commit bc7284bcd0
_Fix #317098: [MusicXML import] check code for white space issues
The MusicXML importer (incorrectly) uses QXmlStreamReader::readNext() to skip to the end of an element.
This works correctly only if the element is emtpy, which cannot always be guaranteed. The readNext() calls
are replaced by QXmlStreamReader::skipCurrentElement(), which will always work._
Automatically closed -- issue fixed for 2 weeks with no activity.