Commit graph

6 commits

Author SHA1 Message Date
Dmitri Ovodok
905355b616 fix #288215: fix a crash due to connecting spanners in different scores
This might have happened when reading corrupted scores.
2019-04-25 17:47:02 +03:00
ws
ec3be9a99a Replacd integer midi tick values by fractions.
- tick names a position on the time axis
- tick is always a Fraction()
- only Measure() and Segment() (and Tuplet?) have a tick value
- tick() for an generic element return only a sensible value if isMeasure() or isSegment() or isSegment(parent())

- "ticks" names a duration stored in a Fraction()
- the tick value for an Segment is relative to its measure

- rename "duration" to "ticks"
- rename afrac() to tick()
- rename rfrac() to rtick()
- rename some variables, changing "fraction" into "tick"
  (example: actualFraction() into actualTicks())

- Lyrics ticks are written as Fraction, on read if xmlreader sees a "/" it reads a fraction
  else midi ticks for backwards compatibility
2019-02-18 11:46:05 +01:00
anatoly-os
39501b5adf
Merge pull request #4278 from dmitrio95/fix-bad-memory-access
Fix some cases of bad memory access
2018-12-05 22:22:21 +02:00
Dmitri Ovodok
82bacc90a4 Fix hanging on reading some corrupted scores due to broken spanners 2018-12-03 14:07:55 +02:00
Dmitri Ovodok
76a22bd831 Fix freed memory reading when removing connectors, use unique_ptr for connectors management
Reading of freed memory occurred in ConnectorInfoReader::operator=
(via a connector() call) when removing the connector info from
connector info list. The previous implementation would also work
incorrectly in case of replacing QList to any vector container.
2018-12-02 01:38:46 +02:00
Dmitri Ovodok
2c28195c1c Add a framework to read/write connectors using relative positions instead of IDs
Try to reconnect broken connectors while reading MSCX files
2018-08-16 19:10:28 +03:00