summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-02-07 13:19:50 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-02-08 08:20:36 +0000
commit0a4fb70b2aba67a10c81c5a365389f75415472bc (patch)
treee0b11c37ddbce012d59663e0edb01049d0574d1e
parent4b311995dc507f003117f322c8324a1defb8b98f (diff)
downloadqttools-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>
-rw-r--r--src/designer/src/components/propertyeditor/designerpropertymanager.cpp6
-rw-r--r--src/designer/src/components/propertyeditor/paletteeditor.cpp11
-rw-r--r--src/designer/src/lib/shared/qdesigner_propertycommand.cpp8
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;