[trunk] Wrong position of (some) note dots -- rev. 4355 REGRESSION

• Jun 10, 2011 - 00:24
Type
Functional
Severity
S2 - Critical
Status
closed
Project

Setup: rev. 4355; Ubuntu 11.04, Qt SDK 1.1 (Qt lib 4.7.3)

Step: load the attached sample score.

Results:

1) Some dots for notes on stave lines are drawn below the line rather than above.
2) With multiple instruments, the dot is shifted horizontally according to the widest note across the various instruments rather than for each instrument independently.

Notes:

1) The issue appeared upgrading from rev. 4348 to rev. 4355

2) A screen shot of the sample score is attached: issues 1) are marked with red stars and issues 2) with blue stars.

3) Issue marked as critical as it breaks basic notation rules.

Thanks,

M.

Attachment Size
trunk_dot_position.mscz 1.84 KB
trunk_dot_position.png 31.45 KB

Comments

Status (old) active patch (code needs review)

I think I found the problem:

The new class member Note::_dotPosition is not initialized by the Note() constructors.

To fix, in file mscore/mscore/libmscore/note.cpp:

1) add the following line to the default contructor (around line 163);
_dotPosition = AUTO;

2) add the following line to the copy contructor (around line 224):
_dotPosition = n._dotPosition;

(Sorry, I can't supply a real patch, as I have other changes to this file pending...)

Thanks,

M.