Merge pull request #10198 from RomanPudashkin/duplicated_chord_symbols_fix
[MU4] fix #10107: Adding a chord creates a duplicate text which is visible when selected
This commit is contained in:
commit
93d1e7c4d6
1 changed files with 11 additions and 4 deletions
|
@ -1928,17 +1928,23 @@ void NotationInteraction::drawSelectionRange(draw::Painter* painter)
|
|||
|
||||
void NotationInteraction::drawGripPoints(draw::Painter* painter)
|
||||
{
|
||||
if (!selection()->element()) {
|
||||
Ms::EngravingItem* selectedElement = selection()->element();
|
||||
int gripsCount = selectedElement ? selectedElement->gripsCount() : 0;
|
||||
|
||||
if (gripsCount == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool editingElement = m_editData.element != nullptr;
|
||||
if (!editingElement) {
|
||||
m_editData.element = selection()->element();
|
||||
m_editData.element = selectedElement;
|
||||
|
||||
if (!m_editData.element->isTextBase() && !m_editData.getData(m_editData.element)) {
|
||||
m_editData.element->startEdit(m_editData);
|
||||
}
|
||||
}
|
||||
m_editData.grips = m_editData.element->gripsCount();
|
||||
|
||||
m_editData.grips = gripsCount;
|
||||
m_editData.grip.resize(m_editData.grips);
|
||||
|
||||
constexpr qreal DEFAULT_GRIP_SIZE = 8;
|
||||
|
@ -1946,7 +1952,7 @@ void NotationInteraction::drawGripPoints(draw::Painter* painter)
|
|||
qreal gripSize = DEFAULT_GRIP_SIZE / scaling;
|
||||
RectF newRect(-gripSize / 2, -gripSize / 2, gripSize, gripSize);
|
||||
|
||||
EngravingItem* page = m_editData.element->findAncestor(ElementType::PAGE);
|
||||
const EngravingItem* page = m_editData.element->findAncestor(ElementType::PAGE);
|
||||
PointF pageOffset = page ? page->pos() : m_editData.element->pos();
|
||||
|
||||
for (RectF& gripRect: m_editData.grip) {
|
||||
|
@ -1955,6 +1961,7 @@ void NotationInteraction::drawGripPoints(draw::Painter* painter)
|
|||
|
||||
m_editData.element->updateGrips(m_editData);
|
||||
m_editData.element->drawEditMode(painter, m_editData, currentScaling(painter));
|
||||
|
||||
if (!editingElement) {
|
||||
m_editData.element = nullptr;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue