diff options
author | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-06-07 14:36:33 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-06-07 14:56:34 +0000 |
commit | 4fe0d91c731fa63f14312e4253ad5b2331bd3311 (patch) | |
tree | ebbe7776a5aa2be8bf9fcd7dcd532b7907b3e1c9 | |
parent | b05a85c9e082e7866a3fd22aa05f3a5c87879c26 (diff) | |
download | aports-4fe0d91c731fa63f14312e4253ad5b2331bd3311.tar.bz2 aports-4fe0d91c731fa63f14312e4253ad5b2331bd3311.tar.xz |
community/qt5-qtbase: fix QTBUG-56140
-rw-r--r-- | community/qt5-qtbase/0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch | 80 | ||||
-rw-r--r-- | community/qt5-qtbase/APKBUILD | 6 |
2 files changed, 84 insertions, 2 deletions
diff --git a/community/qt5-qtbase/0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch b/community/qt5-qtbase/0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch new file mode 100644 index 0000000000..6c3b3128a0 --- /dev/null +++ b/community/qt5-qtbase/0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch @@ -0,0 +1,80 @@ +From dd52fd0024600d3beffc82d6da02b4239a62d725 Mon Sep 17 00:00:00 2001 +From: Jocelyn Turcotte <jturcotte@woboq.com> +Date: Tue, 17 Jan 2017 17:05:00 +0100 +Subject: [PATCH] Ensure a pixel density of at least 1 for + Qt::AA_EnableHighDpiScaling + +Very large 1080p TVs or any display which is running at an abnormally +low resolution can have a DPI lower than 48, which means that +qRound(dpi/96) will result in a 0 pixel density, causing critical +issues for applications using Qt::AA_EnableHighDpiScaling. + +Make sure that we always have a pixel density of at least 1 to allow +applications not having to worry about such displays. + +Task-number: QTBUG-56140 +Change-Id: I1dafbf7794a99ae6f872984c0337d8ff0d1fc1c0 +Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> +Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> +--- + src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp | 2 +- + src/plugins/platforms/windows/qwindowsscreen.cpp | 2 +- + src/plugins/platforms/winrt/qwinrtscreen.cpp | 2 +- + src/plugins/platforms/xcb/qxcbscreen.cpp | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp +index 3e1e93f1e4..863a115b74 100644 +--- a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp ++++ b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp +@@ -226,7 +226,7 @@ QDpi QEglFSDeviceIntegration::logicalDpi() const + + qreal QEglFSDeviceIntegration::pixelDensity() const + { +- return qRound(logicalDpi().first / qreal(100)); ++ return qMax(1, qRound(logicalDpi().first / qreal(100))); + } + + Qt::ScreenOrientation QEglFSDeviceIntegration::nativeOrientation() const +diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp +index 7a885b462e..c70323c06f 100644 +--- a/src/plugins/platforms/windows/qwindowsscreen.cpp ++++ b/src/plugins/platforms/windows/qwindowsscreen.cpp +@@ -265,7 +265,7 @@ qreal QWindowsScreen::pixelDensity() const + // the pixel density since it is reflects the Windows UI scaling. + // High DPI auto scaling should be disabled when the user chooses + // small fonts on a High DPI monitor, resulting in lower logical DPI. +- return qRound(logicalDpi().first / 96); ++ return qMax(1, qRound(logicalDpi().first / 96)); + } + + /*! +diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp +index f87ae9fd24..2a4b6c8907 100644 +--- a/src/plugins/platforms/winrt/qwinrtscreen.cpp ++++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp +@@ -647,7 +647,7 @@ QDpi QWinRTScreen::logicalDpi() const + qreal QWinRTScreen::pixelDensity() const + { + Q_D(const QWinRTScreen); +- return qRound(d->logicalDpi / 96); ++ return qMax(1, qRound(d->logicalDpi / 96)); + } + + qreal QWinRTScreen::scaleFactor() const +diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp +index a9675935f4..d8facdbb84 100644 +--- a/src/plugins/platforms/xcb/qxcbscreen.cpp ++++ b/src/plugins/platforms/xcb/qxcbscreen.cpp +@@ -631,7 +631,7 @@ void QXcbScreen::updateGeometry(const QRect &geom, uint8_t rotation) + m_sizeMillimeters = sizeInMillimeters(xGeometry.size(), virtualDpi()); + + qreal dpi = xGeometry.width() / physicalSize().width() * qreal(25.4); +- m_pixelDensity = qRound(dpi/96); ++ m_pixelDensity = qMax(1, qRound(dpi/96)); + m_geometry = QRect(xGeometry.topLeft(), xGeometry.size()); + m_availableGeometry = xGeometry & m_virtualDesktop->workArea(); + QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry); +-- +2.13.0 + diff --git a/community/qt5-qtbase/APKBUILD b/community/qt5-qtbase/APKBUILD index e28fd8bf53..bb3605190b 100644 --- a/community/qt5-qtbase/APKBUILD +++ b/community/qt5-qtbase/APKBUILD @@ -6,7 +6,7 @@ _ver=${_ver/_/-} _ver=${_ver/beta0/beta} _ver=${_ver/rc0/rc} _V=${_ver/rc/RC} -pkgrel=1 +pkgrel=2 pkgdesc="Qt5 - QtBase components" url="http://qt-project.org/" arch="all" @@ -58,6 +58,7 @@ source="http://download.qt-project.org/$_rel/qt/${pkgver%.*}/$_ver/submodules/qt libressl-compat.patch hack-openssl_test.patch s390x-big-endian.patch + 0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch " _qt5_prefix=/usr/lib/qt5 @@ -214,4 +215,5 @@ sha512sums="36a1ba4b0dba02ae65c3b2b0aa3fb3767cbee4dbdf204c9ded7d1700e70144ce85a3 7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch af284ebb51e3d903275f0f43901755fee0d0071a2fa4f5d6e8a4b00d9185d9d9fffba8e5cbda8c4aa2b3acde69fd26a449b23ad104f509fd4156f6908e0b43da libressl-compat.patch 3bc1380268f077587114cfa535c58403f59c4c931902d0599633e1365f075d2e253b6f461e22ed3fe3adb12ef45ea97e1dbcbc1bbe0d151435703986f25c44c6 hack-openssl_test.patch -aef4633243e53dc5c09eafb785d105659ee5f56c6cc9faf927b8207cda774e31df262e2c63dc05496977cd081a9dd9c7545fbcd5b5ed351aab33e4666957909c s390x-big-endian.patch" +aef4633243e53dc5c09eafb785d105659ee5f56c6cc9faf927b8207cda774e31df262e2c63dc05496977cd081a9dd9c7545fbcd5b5ed351aab33e4666957909c s390x-big-endian.patch +1a56a38d63001f74aa9b3630feb4902f12a3b19b0c03db0dd1bf80d28090fb4f7d71f4e281f5c6611e01aa516324393791bee520a03909364ce302f18b7c0ecb 0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch" |