aboutsummaryrefslogtreecommitdiffstats
path: root/community/qt5-qtbase
diff options
context:
space:
mode:
authorLeonardo Arena <rnalrd@alpinelinux.org>2017-06-07 14:36:33 +0000
committerLeonardo Arena <rnalrd@alpinelinux.org>2017-06-07 14:56:34 +0000
commit4fe0d91c731fa63f14312e4253ad5b2331bd3311 (patch)
treeebbe7776a5aa2be8bf9fcd7dcd532b7907b3e1c9 /community/qt5-qtbase
parentb05a85c9e082e7866a3fd22aa05f3a5c87879c26 (diff)
community/qt5-qtbase: fix QTBUG-56140
Diffstat (limited to 'community/qt5-qtbase')
-rw-r--r--community/qt5-qtbase/0001-Ensure-a-pixel-density-of-at-least-1-for-Qt-AA_Enabl.patch80
-rw-r--r--community/qt5-qtbase/APKBUILD6
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 00000000000..6c3b3128a03
--- /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 e28fd8bf530..bb3605190b9 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"