diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-02-07 13:19:50 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-02-08 08:20:36 +0000 |
commit | 0a4fb70b2aba67a10c81c5a365389f75415472bc (patch) | |
tree | e0b11c37ddbce012d59663e0edb01049d0574d1e | |
parent | 4b311995dc507f003117f322c8324a1defb8b98f (diff) | |
download | qttools-0a4fb70b2aba67a10c81c5a365389f75415472bc.tar.gz |
Qt Designer: Fix palette mask handling for 64bit
Task-number: QTBUG-110963
Change-Id: I212f15dca35a93b02786567a2b8e1412eff48e90
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
(cherry picked from commit dd1f00da0629816d6d4967636440111cc526f478)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
3 files changed, 13 insertions, 12 deletions
diff --git a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp index 6dc262842..ee67c0826 100644 --- a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp +++ b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp @@ -1358,7 +1358,7 @@ void DesignerPropertyManager::setAttribute(QtProperty *property, data.superPalette = superPalette; // resolve here - const uint mask = data.val.resolveMask(); + const auto mask = data.val.resolveMask(); data.val = data.val.resolve(superPalette); data.val.setResolveMask(mask); @@ -1531,7 +1531,7 @@ QString DesignerPropertyManager::valueText(const QtProperty *property) const } if (m_paletteValues.contains(const_cast<QtProperty *>(property))) { const PaletteData data = m_paletteValues.value(const_cast<QtProperty *>(property)); - const uint mask = data.val.resolveMask(); + const auto mask = data.val.resolveMask(); if (mask) return tr("Customized (%n roles)", nullptr, bitCount(mask)); static const QString inherited = tr("Inherited"); @@ -1825,7 +1825,7 @@ void DesignerPropertyManager::setValue(QtProperty *property, const QVariant &val PaletteData data = m_paletteValues.value(property); - const uint mask = p.resolveMask(); + const auto mask = p.resolveMask(); p = p.resolve(data.superPalette); p.setResolveMask(mask); diff --git a/src/designer/src/components/propertyeditor/paletteeditor.cpp b/src/designer/src/components/propertyeditor/paletteeditor.cpp index d0b788062..ddf49245e 100644 --- a/src/designer/src/components/propertyeditor/paletteeditor.cpp +++ b/src/designer/src/components/propertyeditor/paletteeditor.cpp @@ -464,11 +464,12 @@ bool PaletteModel::setData(const QModelIndex &index, const QVariant &value, int return true; } if (index.column() == 0 && role == Qt::EditRole) { - uint mask = m_palette.resolveMask(); + auto mask = m_palette.resolveMask(); const bool isMask = qvariant_cast<bool>(value); - if (isMask) - mask |= (1 << int(colorRole)); - else { + const auto bitMask = 1ull << quint64(colorRole); + if (isMask) { + mask |= bitMask; + } else { m_palette.setBrush(QPalette::Active, colorRole, m_parentPalette.brush(QPalette::Active, colorRole)); m_palette.setBrush(QPalette::Inactive, colorRole, @@ -476,7 +477,7 @@ bool PaletteModel::setData(const QModelIndex &index, const QVariant &value, int m_palette.setBrush(QPalette::Disabled, colorRole, m_parentPalette.brush(QPalette::Disabled, colorRole)); - mask &= ~(1 << int(colorRole)); + mask &= ~bitMask; } m_palette.setResolveMask(mask); emit paletteChanged(m_palette); diff --git a/src/designer/src/lib/shared/qdesigner_propertycommand.cpp b/src/designer/src/lib/shared/qdesigner_propertycommand.cpp index 91bc9f6ed..866834a7e 100644 --- a/src/designer/src/lib/shared/qdesigner_propertycommand.cpp +++ b/src/designer/src/lib/shared/qdesigner_propertycommand.cpp @@ -267,8 +267,8 @@ quint64 compareSubProperties(const QPalette & p1, const QPalette & p2) quint64 rc = 0; unsigned maskBit = 1u; // generate a mask for each role - const unsigned p1Changed = p1.resolveMask(); - const unsigned p2Changed = p2.resolveMask(); + const auto p1Changed = p1.resolveMask(); + const auto p2Changed = p2.resolveMask(); for (int role = QPalette::WindowText; role < QPalette::NColorRoles; role++, maskBit <<= 1u) { const bool p1RoleChanged = p1Changed & maskBit; const bool p2RoleChanged = p2Changed & maskBit; @@ -464,7 +464,7 @@ QPalette applyPaletteSubProperty(const QPalette &oldValue, const QPalette &newVa { QPalette rc = oldValue; // apply a mask for each role - unsigned maskBit = 1u; + quint64 maskBit = 1u; for (int role = QPalette::WindowText; role < QPalette::NColorRoles; role++, maskBit <<= 1u) { if (mask & maskBit) { for (int group = QPalette::Active; group < QPalette::NColorGroups; group++) { @@ -473,7 +473,7 @@ QPalette applyPaletteSubProperty(const QPalette &oldValue, const QPalette &newVa rc.setColor(pgroup, prole, newValue.color(pgroup, prole)); } // Set the resolve bit from NewValue in return value - uint r = rc.resolveMask(); + auto r = rc.resolveMask(); const bool origFlag = newValue.resolveMask() & maskBit; if (origFlag) r |= maskBit; |