From 4d34eee3626a52d56458ffa642126abe5d12d104 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 17 Jan 2025 16:11:41 +0100 Subject: [PATCH] Fix CMYK8888 on big-endian platforms Pick-to: 6.8 Fixes: QTBUG-132875 Change-Id: If7e945607125a5ae5ce1f8323df27ab8481e329c Reviewed-by: Giuseppe D'Angelo (cherry picked from commit 7ad2083ec3cbc9dce949e83465973435d0aa992a) Reviewed-by: Qt Cherry-pick Bot --- src/gui/painting/qcmyk_p.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/painting/qcmyk_p.h b/src/gui/painting/qcmyk_p.h index 1294a18244e..a87c70e3639 100644 --- a/src/gui/painting/qcmyk_p.h +++ b/src/gui/painting/qcmyk_p.h @@ -33,15 +33,15 @@ public: QCmyk32() = default; constexpr QCmyk32(int cyan, int magenta, int yellow, int black) : -#if QT_BYTE_ORDER == Q_BIG_ENDIAN - m_cmyk(cyan << 24 | magenta << 16 | yellow << 8 | black) +#if Q_BYTE_ORDER == Q_BIG_ENDIAN + m_cmyk(uint(cyan) << 24 | magenta << 16 | yellow << 8 | black) #else - m_cmyk(cyan | magenta << 8 | yellow << 16 | black << 24) + m_cmyk(cyan | magenta << 8 | yellow << 16 | uint(black) << 24) #endif { } -#if QT_BYTE_ORDER == Q_BIG_ENDIAN +#if Q_BYTE_ORDER == Q_BIG_ENDIAN constexpr int cyan() const noexcept { return (m_cmyk >> 24) & 0xff; } constexpr int magenta() const noexcept { return (m_cmyk >> 16) & 0xff; } constexpr int yellow() const noexcept { return (m_cmyk >> 8) & 0xff; }