Skip to content

Conversation

@MarcSabatella
Copy link
Contributor

Resolves: https://musescore.org/en/node/317163

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a second save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I foudn them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually seemed to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.

Resolves: https://musescore.org/en/node/317163

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I foudn them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
@MarcSabatella MarcSabatella force-pushed the 317163-lost-properties branch from 40ee1b1 to aace664 Compare February 8, 2021 22:48
MarcSabatella added a commit to MarcSabatella/MuseScore that referenced this pull request Feb 22, 2021
vpereverzev pushed a commit that referenced this pull request Feb 24, 2021
@Jojo-Schmitz
Copy link
Contributor

counterpart got merged to master

@vpereverzev
Copy link
Member

Closed, since it's already in master

@vpereverzev vpereverzev closed this Mar 4, 2021
@Jojo-Schmitz
Copy link
Contributor

Still needed in 3.x though

@Jojo-Schmitz
Copy link
Contributor

Please reopen and merge into 3.x

@MarcSabatella
Copy link
Contributor Author

Several reports of this lately, FWIW.

@RobFog
Copy link

RobFog commented Mar 9, 2021

Please reopen and merge.

Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 18, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 24, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Apr 10, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Apr 26, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request May 11, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jun 28, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 27, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 28, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Jul 28, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 13, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 13, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Aug 19, 2021
Resolves: https://musescore.org/en/node/317163
Backport of musescore#7597, resp. duplicated from musescore#7453

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 2, 2021
Resolves: https://musescore.org/en/node/317163

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.

Backport of musescore#7597, resp. duplicated from musescore#7453
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Sep 23, 2021
Resolves: https://musescore.org/en/node/317163

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.

Backport of musescore#7597, resp. duplicated from musescore#7453
Jojo-Schmitz pushed a commit to Jojo-Schmitz/MuseScore that referenced this pull request Mar 5, 2023
Resolves: https://musescore.org/en/node/317163

The recent changes to style handling
result in an extra styleChanged() call on load,
which is not a problem in itself
but exposes some existing problems in various read() functions.
If styled properties were not marked as unstyled during the read,
they get reset by this styleChanged() call,
meaning any custom settings are lost on load.

In fact, they would mostly have been lost after a *second* save/reload
even in older versions, since the properties are not marked as unstyled
and thus won't get written.
But now they are lost immediately upon the first save/reload.

The fix is to to be sure we mark the property unstyled on read,
which basically means inserting calls to readStyledProperty()
in the read() or readProperties() functions of various element types.

This was originally reported for volta line style,
and I quickly discovered it also appplies to line width,
and to pedal line width.
I then scanned the code looking for read() functions
that did not handle styledProperties.
I can't guarantee I found them all,
but I did find the mmrest number offset and tuplet number text.
The latter actually *seemed* to be handling the styled properties,
but only for the tuplet itself, not the number.
The font property flags needed to be copied to the number.

Backport of musescore#7597, resp. duplicated from musescore#7453
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants