From 7c69d09262b3fa2c32c91de44483b802f5030aed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20S=C3=B8rvig?= Date: Fri, 14 Mar 2025 12:21:19 +0100 Subject: [PATCH] highdpi: avoid rounding policy warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Calling setHighDpiScaleFactorRoundingPolicy() during Qt startup warns: "setHighDpiScaleFactorRoundingPolicy must be called before creating the QGuiApplication instance" The warning is intended for user code, and Qt internal code need not heed it. Set the highDpiScaleFactorRoundingPolicy private variable directly instead. Fixes: QTBUG-132430 Change-Id: I50285dc76209f4a96bcdf46e1861fc2dc17ca5c2 Reviewed-by: Thiago Macieira Reviewed-by: Tor Arne Vestbø --- src/gui/kernel/qhighdpiscaling.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 53dc6067418..2a67b2b8f6c 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -440,7 +440,8 @@ void QHighDpiScaling::initHighDpiScaling() QByteArray policyText = envScaleFactorRoundingPolicy.value(); auto policyEnumValue = lookupScaleFactorRoundingPolicy(policyText); if (policyEnumValue != Qt::HighDpiScaleFactorRoundingPolicy::Unset) { - QGuiApplication::setHighDpiScaleFactorRoundingPolicy(policyEnumValue); + // set directly to avoid setHighDpiScaleFactorRoundingPolicy() warning + QGuiApplicationPrivate::highDpiScaleFactorRoundingPolicy = policyEnumValue; } else { auto values = joinEnumValues(std::begin(scaleFactorRoundingPolicyLookup), std::end(scaleFactorRoundingPolicyLookup));