From bfb958d612a2b14c62e69725b7d6f6d50d260f12 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 3 Aug 2019 04:30:48 +0000 Subject: user/qt5-qtbase: fix scroll wheel on Big Endian machines --- user/qt5-qtbase/APKBUILD | 6 ++-- user/qt5-qtbase/big-endian-scroll-wheel.patch | 43 +++++++++++++++++++++++++++ user/qt5-qtbase/qt-musl-iconv-no-bom.patch | 2 +- 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 user/qt5-qtbase/big-endian-scroll-wheel.patch (limited to 'user') diff --git a/user/qt5-qtbase/APKBUILD b/user/qt5-qtbase/APKBUILD index 08e623af5..95f461d64 100644 --- a/user/qt5-qtbase/APKBUILD +++ b/user/qt5-qtbase/APKBUILD @@ -2,7 +2,7 @@ pkgname=qt5-qtbase _pkgname=qtbase-opensource-src pkgver=5.9.7 -pkgrel=0 +pkgrel=1 pkgdesc="Qt 5.9 base components" url="https://www.qt.io/" arch="all" @@ -22,6 +22,7 @@ makedepends="$depends_dev " subpackages="$pkgname-dev $pkgname-doc $_sub" source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz + big-endian-scroll-wheel.patch link-to-execinfo.patch qt-musl-iconv-no-bom.patch " @@ -173,5 +174,6 @@ x11() { } sha512sums="7121837501b810f31863fbb3a6ea7189d3e38789ff25eb49b639a69b73913761c8cba18b65046519693d2f5c8755c2197feff1df1ec3d88676d00c649a326e1e qtbase-opensource-src-5.9.7.tar.xz +0f5b3d93bd1543f4e28e3dfe4a77db4759f2e3afbeb6f6b2c3aa76bf106ed585984ea228b2233bc53afeb3f51c557e3545b18a74096d2cf129364a1f6c4ef090 big-endian-scroll-wheel.patch ee78a44e28ba5f728914bfc3d8d5b467896c7de11a02d54b0bce11e40a4338b1f776c1fcc30cbd436df4f548c1ab0b4fe801f01b162ddd5c0f892893e227acfd link-to-execinfo.patch -7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch" +dca65670df25a8e391d4c62b8967f4377cbd193a3053d8e8e288452ea197f418fe3f6d9d5e48dc333a44aeadec68e3d4380b3672a07ef6baf7aa3eed96ba96e3 qt-musl-iconv-no-bom.patch" diff --git a/user/qt5-qtbase/big-endian-scroll-wheel.patch b/user/qt5-qtbase/big-endian-scroll-wheel.patch new file mode 100644 index 000000000..3fbb8aec7 --- /dev/null +++ b/user/qt5-qtbase/big-endian-scroll-wheel.patch @@ -0,0 +1,43 @@ +--- qtbase-opensource-src-5.9.7/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp.old 2018-10-16 08:37:05.000000000 +0000 ++++ qtbase-opensource-src-5.9.7/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp 2019-08-03 03:58:05.875790720 +0000 +@@ -43,6 +43,7 @@ + #include "qxcbwindow.h" + #include "qtouchdevice.h" + #include "QtCore/qmetaobject.h" ++#include "QtCore/qendian.h" + #include + #include + #include +@@ -106,6 +107,7 @@ + XIEventMask xiEventMask; + bitMask = XI_HierarchyChangedMask; + bitMask |= XI_DeviceChangedMask; ++ bitMask = qToLittleEndian(bitMask); + xiEventMask.deviceid = XIAllDevices; + xiEventMask.mask_len = sizeof(bitMask); + xiEventMask.mask = xiBitMask; +@@ -327,7 +329,8 @@ + } + XIEventMask mask; + mask.mask_len = sizeof(bitMask); ++ bitMask = qToLittleEndian(bitMask); + mask.mask = xiBitMask; + // When xi2MouseEvents() is true (the default), pointer emulation for touch and tablet + // events will get disabled. This is preferable, as Qt Quick handles touch events + // directly, while for other applications QtGui synthesizes mouse events. +@@ -353,6 +356,7 @@ + tabletBitMask = XI_PropertyEventMask; + if (!pointerSelected) + tabletBitMask |= XI_ButtonPressMask | XI_ButtonReleaseMask | XI_MotionMask; ++ tabletBitMask = qToLittleEndian(tabletBitMask); + for (int i = 0; i < m_tabletData.count(); ++i) { + int deviceId = m_tabletData.at(i).deviceId; + tabletDevices.insert(deviceId); +@@ -374,6 +378,7 @@ + + scrollBitMask = XI_MotionMask; + scrollBitMask |= XI_ButtonReleaseMask; ++ scrollBitMask = qToLittleEndian(scrollBitMask); + int i=0; + for (const ScrollingDevice& scrollingDevice : qAsConst(m_scrollingDevices)) { + if (tabletDevices.contains(scrollingDevice.deviceId)) diff --git a/user/qt5-qtbase/qt-musl-iconv-no-bom.patch b/user/qt5-qtbase/qt-musl-iconv-no-bom.patch index 8bf35ec1e..be2afc714 100644 --- a/user/qt5-qtbase/qt-musl-iconv-no-bom.patch +++ b/user/qt5-qtbase/qt-musl-iconv-no-bom.patch @@ -1,6 +1,6 @@ --- qtbase/src/corelib/codecs/qiconvcodec.cpp 2017-01-18 15:20:58.000000000 +0100 +++ qtbase/src/corelib/codecs/qiconvcodec.cpp 2017-02-21 14:33:32.423808603 +0100 -@@ -64,7 +64,7 @@ +@@ -63,7 +63,7 @@ #elif defined(Q_OS_AIX) # define NO_BOM # define UTF16 "UCS-2" -- cgit v1.2.3-60-g2f50