diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-05-19 10:38:48 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-05-20 18:07:39 +0000 |
commit | 402ce8f266de19fdc4954db504debbb761159754 (patch) | |
tree | a8399ebe4c837e95ad4b4b04f6b298594538f72c | |
parent | 562f1387cbb4584fdf22753d3abb226c8a918b80 (diff) |
QKeySequence: fix dynamic initialization of shared_empty
The QKeySequencePrivate default constructor wasn't constexpr, so
shared_empty was not constinit'able. To make the constructor
constexpr in C++17 as well as C++20, needed to replace the fill_n()
on the key member with Uniform Initialization.
Found by attempting to apply C++20 constinit to its definition.
Pick-to: 6.3 6.2
Change-Id: I2941e96348eb969029da2f0f7231079967bba996
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
-rw-r--r-- | src/gui/kernel/qkeysequence_p.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/gui/kernel/qkeysequence_p.h b/src/gui/kernel/qkeysequence_p.h index 9f8c6acfbb..2f9a0b09aa 100644 --- a/src/gui/kernel/qkeysequence_p.h +++ b/src/gui/kernel/qkeysequence_p.h @@ -36,10 +36,7 @@ class QKeySequencePrivate { public: enum { MaxKeyCount = 4 }; // also used in QKeySequenceEdit - inline QKeySequencePrivate() : ref(1) - { - std::fill_n(key, uint(MaxKeyCount), 0); - } + constexpr QKeySequencePrivate() : ref(1), key{} {} inline QKeySequencePrivate(const QKeySequencePrivate ©) : ref(1) { std::copy(copy.key, copy.key + MaxKeyCount, |