Merge pull request #11417 from Chocobo1/dpi_v41x

Fix screen scaling factor calculation (backport to v4_1_x)
This commit is contained in:
Mike Tzou 2019-10-29 15:56:11 +08:00 committed by GitHub
commit 102b7fa78e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -52,7 +52,10 @@ qreal Utils::Gui::screenScalingFactor(const QWidget *widget)
#ifdef Q_OS_WIN
const int screenNumber = qApp->desktop()->screenNumber(widget);
const QScreen *screen = QApplication::screens()[screenNumber];
return (screen->logicalDotsPerInch() / screen->physicalDotsPerInch());
// Workaround for QScreen::physicalDotsPerInch() that could return
// values that are smaller than the normal 96 DPI on Windows
const qreal physicalDPI = qMax<qreal>(screen->physicalDotsPerInch(), 96);
return (screen->logicalDotsPerInch() / physicalDPI);
#elif defined(Q_OS_MAC)
return 1;
#else