@@ -117,12 +117,17 @@ bool Transpose::transpose(Score* score, TransposeMode mode, TransposeDirection d
117117 result = false ;
118118 }
119119 } else if (e->isHarmony () && transposeChordNames) {
120- const EngravingObject* parent = e->parent ();
121- if (parent && parent->isFretDiagram ()
122- && std::find (selectionList.begin (), selectionList.end (), parent) != selectionList.end ()) {
123- continue ;
120+ EngravingObject* parent = e->parent ();
121+ if (parent && parent->isFretDiagram ()) {
122+ if (std::find (selectionList.begin (), selectionList.end (), parent) != selectionList.end ()) {
123+ continue ;
124+ }
125+
126+ FretDiagram* fd = toFretDiagram (parent);
127+ transposeFretDiagram (toFretDiagram (fd), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
128+ } else {
129+ transposeHarmony (toHarmony (e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
124130 }
125- transposeHarmony (toHarmony (e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
126131 } else if (e->isFretDiagram () && transposeChordNames) {
127132 transposeFretDiagram (toFretDiagram (e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
128133 } else if (e->isKeySig () && mode != TransposeMode::DIATONICALLY && trKeys) {
0 commit comments