summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2022-07-15 08:50:37 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2022-07-15 09:58:23 +0200
commit37c829f511d67be1c226201b4bbbe73c53835078 (patch)
tree7b33de9b936068fa33cbe53147f3b5b36fd65554 /tests/auto/gui/kernel
parent2c81ba2df95cc07d5d147c8f3c7999c34848d274 (diff)
QPalette: detach before modifying resolve mask when resolving
Amends 1d961491d817490da156769ddce6fce48a0bce4a. We modify the resolve mask after making a shared copy of 'other', so we must detach. Call the setter designed for that purpose. Pick-to: 6.4 6.3 6.2 Task-number: QTBUG-98762 Change-Id: I4f45223e74764a341378992172787fae73efb8b7 Reviewed-by: JiDe Zhang <zhangjide@uniontech.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/auto/gui/kernel')
-rw-r--r--tests/auto/gui/kernel/qpalette/tst_qpalette.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp b/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
index cdb6817598..150d58e6f4 100644
--- a/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
+++ b/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
@@ -102,9 +102,16 @@ void tst_QPalette::resolve()
// ensure the resolve mask is full
for (int r = 0; r < QPalette::NColorRoles; ++r)
p3.setBrush(QPalette::All, QPalette::ColorRole(r), Qt::red);
+ const QPalette::ResolveMask fullMask = p3.resolveMask();
QPalette p3ResolvedToP1 = p3.resolve(p1);
QVERIFY(p3ResolvedToP1.isCopyOf(p3));
+
+ QPalette p4;
+ QCOMPARE(p4.resolveMask(), QPalette::ResolveMask{});
+ // resolve must detach even if p4 has no mask
+ p4 = p4.resolve(p3);
+ QCOMPARE(p3.resolveMask(), fullMask);
}