diff --git a/libmscore/read206.cpp b/libmscore/read206.cpp
index a793e6489171d..34b5cdc5e734a 100644
--- a/libmscore/read206.cpp
+++ b/libmscore/read206.cpp
@@ -3804,6 +3804,7 @@ static bool readScore(Score* score, XmlReader& e)
e.skipCurrentElement();
else {
e.tracks().clear();
+ e.clearUserTextStyles();
MasterScore* m = score->masterScore();
Score* s = new Score(m, MScore::baseStyle());
Excerpt* ex = new Excerpt(m);
diff --git a/libmscore/xml.h b/libmscore/xml.h
index bf2eb35351428..0b9a2a1b73b29 100644
--- a/libmscore/xml.h
+++ b/libmscore/xml.h
@@ -204,6 +204,7 @@ class XmlReader : public QXmlStreamReader {
void checkTuplets();
Tid addUserTextStyle(const QString& name);
Tid lookupUserTextStyle(const QString& name);
+ void clearUserTextStyles() { userTextStyles.clear(); }
// Ownership on read device is NOT transferred to XmlReader.
void setDevice(QIODevice* dev) { if (!dev->isSequential()) _readDevice = dev; }
diff --git a/mtest/libmscore/compat206/tst_compat206.cpp b/mtest/libmscore/compat206/tst_compat206.cpp
index eb61ed4479563..4a06fa4f731e3 100644
--- a/mtest/libmscore/compat206/tst_compat206.cpp
+++ b/mtest/libmscore/compat206/tst_compat206.cpp
@@ -46,6 +46,7 @@ class TestCompat206 : public QObject, public MTest
void intrumentNameAlign() {compat("intrumentNameAlign"); }
void fermata() { compat("fermata"); }
void frame_utf8() { compat("frame_text2"); }
+ void user_style() { compat("userstylesparts"); }
};
//---------------------------------------------------------
diff --git a/mtest/libmscore/compat206/userstylesparts-ref.mscx b/mtest/libmscore/compat206/userstylesparts-ref.mscx
new file mode 100644
index 0000000000000..a0b27db4ffe92
--- /dev/null
+++ b/mtest/libmscore/compat206/userstylesparts-ref.mscx
@@ -0,0 +1,1184 @@
+
+
+
+
+ 0
+ 480
+
+ 1
+ 1
+ 1
+ 0
+
+ Composer
+
+
+
+
+
+
+
+
+ Title
+
+
+
+ stdNormal
+
+
+ Piano
+
+ Piano
+ Pno.
+ Piano
+ 21
+ 108
+ 21
+ 108
+ F
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+
+ stdNormal
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+
+ stdNormal
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+ 36.9323
+
+
+
+
+ Title
+
+
+
+
+ Text7
+
+
+
+
+ Text 2
+
+
+
+
+ Text3
+
+
+
+
+ Text4
+
+
+
+
+ Text5
+
+
+
+
+ Text6
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+
+ 0
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Piano
+
+
+ 1
+
+ stdNormal
+
+
+ Piano
+
+ Piano
+ Pno.
+ Piano
+ 21
+ 108
+ 21
+ 108
+ F
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+ 36.9323
+
+
+
+
+
+
+ Title
+
+
+
+
+
+ Text7
+
+
+
+
+
+ Text 2
+
+
+
+
+
+ Text3
+
+
+
+
+
+ Text4
+
+
+
+
+
+ Text5
+
+
+
+
+
+ Text6
+
+
+
+ Piano
+
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+ 3
+
+
+ 4
+ 4
+
+
+ measure
+ 12/4
+
+
+ end
+
+
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+ Piano
+
+
+
+ 0
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Flute 1
+
+
+ 2
+
+ stdNormal
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+ 36.9323
+
+
+ -1
+
+
+
+
+
+ -1
+
+
+
+ Title
+
+
+
+
+ -1
+
+
+
+ Text7
+
+
+
+
+ -1
+
+
+
+ Text 2
+
+
+
+
+ -1
+
+
+
+ Text3
+
+
+
+
+ -1
+
+
+
+ Text4
+
+
+
+
+ -1
+
+
+
+ Text5
+
+
+
+
+ -1
+
+
+
+ Text6
+
+
+
+ Flute 1
+
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+ 3
+
+
+ 4
+ 4
+
+
+ measure
+ 12/4
+
+
+ end
+
+
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+ Flute 1
+
+
+
+ 0
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Flute 2
+
+
+ 3
+
+ stdNormal
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+
+
+
+
+
+ 36.9323
+
+
+ -2
+
+
+
+
+
+ -2
+
+
+
+ Title
+
+
+
+
+ -2
+
+
+
+ Text7
+
+
+
+
+ -2
+
+
+
+ Text 2
+
+
+
+
+ -2
+
+
+
+ Text3
+
+
+
+
+ -2
+
+
+
+ Text4
+
+
+
+
+ -2
+
+
+
+ Text5
+
+
+
+
+ -2
+
+
+
+ Text6
+
+
+
+ Flute 2
+
+
+
+
+
+
+
+ 4
+ 4
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+ 3
+
+
+ 4
+ 4
+
+
+ measure
+ 12/4
+
+
+ end
+
+
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+ end
+
+
+
+
+
+
+ Flute 2
+
+
+
diff --git a/mtest/libmscore/compat206/userstylesparts.mscx b/mtest/libmscore/compat206/userstylesparts.mscx
new file mode 100644
index 0000000000000..8264e7bb86854
--- /dev/null
+++ b/mtest/libmscore/compat206/userstylesparts.mscx
@@ -0,0 +1,1145 @@
+
+
+ 2.3.2
+ 4592407
+
+
+ 0
+
+
+ 480
+
+ 1
+ 1
+ 1
+ 0
+
+ Composer
+
+
+
+
+
+ Linux
+
+
+
+
+ Title
+
+
+
+
+
+
+
+
+
+
+
+ stdNormal
+
+
+ Piano
+
+ Piano
+ Pno.
+ Piano
+ 21
+ 108
+ 21
+ 108
+ F
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+
+ stdNormal
+
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+
+ stdNormal
+
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+ 36.9323
+ 1
+
+ 2
+
+ Title
+
+
+ 3
+
+ Text7
+
+
+ 4
+
+ Text 2
+
+
+ 5
+
+ Text3
+
+
+ 6
+
+ Text4
+
+
+ 7
+
+ Text5
+
+
+ 8
+
+ Text6
+
+
+
+
+ 9
+ 4
+ 4
+ 1
+
+
+ 10
+ measure
+
+
+
+
+
+ 11
+ measure
+
+
+
+
+
+ 12
+ measure
+
+
+
+ end
+ 1
+ 13
+
+
+
+
+
+
+ 14
+ 4
+ 4
+ 1
+
+
+ 15
+ measure
+
+
+
+
+
+ 16
+ measure
+
+
+
+
+
+ 17
+ measure
+
+
+
+ end
+ 1
+ 18
+
+
+
+
+
+
+ 19
+ 4
+ 4
+ 1
+
+
+ 20
+ measure
+
+
+
+
+
+ 21
+ measure
+
+
+
+
+
+ 22
+ measure
+
+
+
+ end
+ 1
+ 23
+
+
+
+
+
+ 0
+
+
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Piano
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ stdNormal
+
+
+ Piano
+
+ Piano
+ Pno.
+ Piano
+ 21
+ 108
+ 21
+ 108
+ F
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+ 36.9323
+ 1
+
+ 2
+
+ Title
+
+
+ 3
+
+ Text7
+
+
+ 4
+
+ Text 2
+
+
+ 5
+
+ Text3
+
+
+ 6
+
+ Text4
+
+
+ 7
+
+ Text5
+
+
+ 8
+
+ Text6
+
+
+
+ Piano
+
+
+
+
+ 9
+ 4
+ 4
+ 1
+
+
+ 10
+ measure
+
+
+
+
+ 3
+
+ 4
+ 4
+ 1
+
+
+ measure
+
+
+
+ end
+ 1
+
+
+ 1920
+
+
+ 11
+ measure
+
+
+
+
+
+ 12
+ measure
+
+
+
+ end
+ 1
+ 13
+
+
+
+ Piano
+
+
+
+ 0
+
+
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Flute 1
+
+
+
+
+
+
+
+
+
+
+ 2
+
+ stdNormal
+
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+ 36.9323
+ 1
+
+ 2
+
+ Title
+
+
+ 3
+
+ Text7
+
+
+ 4
+
+ Text 2
+
+
+ 5
+
+ Text3
+
+
+ 6
+
+ Text4
+
+
+ 7
+
+ Text5
+
+
+ 8
+
+ Text6
+
+
+
+ Flute 1
+
+
+
+
+ 14
+ 4
+ 4
+ 1
+
+
+ 15
+ measure
+
+
+
+
+ 3
+
+ 4
+ 4
+ 1
+
+
+ measure
+
+
+
+ end
+ 1
+
+
+ 1920
+
+
+ 16
+ measure
+
+
+
+
+
+ 17
+ measure
+
+
+
+ end
+ 1
+ 18
+
+
+
+ Flute 1
+
+
+
+ 0
+
+
+ 480
+
+ 1
+ 1
+ 1
+ 0
+ Flute 2
+
+
+
+
+
+
+
+
+
+
+ 3
+
+ stdNormal
+
+
+
+ Flute
+
+ Flute
+ Fl.
+ Flute
+ 59
+ 98
+ 60
+ 93
+ wind.flutes.flute
+
+ 100
+ 95
+
+
+ 100
+ 33
+
+
+ 100
+ 50
+
+
+ 100
+ 67
+
+
+ 100
+ 100
+
+
+ 120
+ 67
+
+
+ 120
+ 100
+
+
+
+ Fluid
+
+
+
+
+
+ 36.9323
+ 1
+
+ 2
+
+ Title
+
+
+ 3
+
+ Text7
+
+
+ 4
+
+ Text 2
+
+
+ 5
+
+ Text3
+
+
+ 6
+
+ Text4
+
+
+ 7
+
+ Text5
+
+
+ 8
+
+ Text6
+
+
+
+ Flute 2
+
+
+
+
+ 19
+ 4
+ 4
+ 1
+
+
+ 20
+ measure
+
+
+
+
+ 3
+
+ 4
+ 4
+ 1
+
+
+ measure
+
+
+
+ end
+ 1
+
+
+ 1920
+
+
+ 21
+ measure
+
+
+
+
+
+ 22
+ measure
+
+
+
+ end
+ 1
+ 23
+
+
+
+ Flute 2
+
+
+