From 9c945faa20c10657b092f007e66cf2eae70ad74b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 10 Nov 2015 15:51:57 +0100 Subject: [PATCH] app: Use HighDPI application attribute instead of environment variable. Set Qt::AA_EnableHighDpiScaling introduced in Qt 5.6. Amend change f4e5210cda6e2db35a832fa9ad80e975ec06bc7b which apparently was broken by qtbase:add58edcdbd986e68cdd65a2a935b76d85d5b639. Change-Id: I0a9337f17b02704e36915f78b1321287e4112378 Reviewed-by: Alessandro Portale --- src/app/main.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index ff239e06fff..ef7d9982180 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -159,7 +159,7 @@ static inline int askMsgSendFailed() QMessageBox::Retry); } -static const char* setHighDpiEnvirnonmentVariable() +static const char *setHighDpiEnvironmentVariable() { const char* envVarName = 0; static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; @@ -170,14 +170,12 @@ static const char* setHighDpiEnvirnonmentVariable() qputenv(envVarName, "auto"); } #else - static const char ENV_VAR_QT_AUTO_SCREEN_SCALE_FACTOR[] = "QT_AUTO_SCREEN_SCALE_FACTOR"; if (Utils::HostOsInfo().isWindowsHost() && !qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) // legacy in 5.6, but still functional - && !qEnvironmentVariableIsSet(ENV_VAR_QT_AUTO_SCREEN_SCALE_FACTOR) + && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { - envVarName = ENV_VAR_QT_AUTO_SCREEN_SCALE_FACTOR; - qputenv(envVarName, "true"); + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); } #endif // < Qt 5.6 return envVarName; @@ -304,7 +302,7 @@ static const char *SHARE_PATH = int main(int argc, char **argv) { - const char *highDpiEnvironmentVariable = setHighDpiEnvirnonmentVariable(); + const char *highDpiEnvironmentVariable = setHighDpiEnvironmentVariable(); QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false")); #ifdef Q_OS_MAC