git: 1dfefe461bd9 - main - x11-toolkits/qt5-gui: fix scrollwheel on big endian platforms

Piotr Kubaj pkubaj at FreeBSD.org
Sat Apr 10 01:07:02 UTC 2021


The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1dfefe461bd97b0e562617c866eca6cfdd670c5c

commit 1dfefe461bd97b0e562617c866eca6cfdd670c5c
Author:     Piotr Kubaj <pkubaj at FreeBSD.org>
AuthorDate: 2021-04-10 01:03:09 +0000
Commit:     Piotr Kubaj <pkubaj at FreeBSD.org>
CommitDate: 2021-04-10 01:03:09 +0000

    x11-toolkits/qt5-gui: fix scrollwheel on big endian platforms
    
    Submitted by: jhibbits
---
 x11-toolkits/qt5-gui/Makefile                      |  2 +-
 ...rc_plugins_platforms_xcb_qxcbconnection_xi2.cpp | 54 ++++++++++++++++++++++
 2 files changed, 55 insertions(+), 1 deletion(-)

diff --git a/x11-toolkits/qt5-gui/Makefile b/x11-toolkits/qt5-gui/Makefile
index 3735e1fd3bdb..1539528e6ef4 100644
--- a/x11-toolkits/qt5-gui/Makefile
+++ b/x11-toolkits/qt5-gui/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gui
 DISTVERSION=	${QT5_VERSION}
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	x11-toolkits graphics
 PKGNAMEPREFIX=	qt5-
 
diff --git a/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp
new file mode 100644
index 000000000000..afbc656bf7e4
--- /dev/null
+++ b/x11-toolkits/qt5-gui/files/patch-src_plugins_platforms_xcb_qxcbconnection_xi2.cpp
@@ -0,0 +1,54 @@
+--- src/plugins/platforms/xcb/qxcbconnection_xi2.cpp.orig	2019-08-05 16:22:20.511830000 -0500
++++ src/plugins/platforms/xcb/qxcbconnection_xi2.cpp	2019-08-05 16:25:40.211970000 -0500
+@@ -43,6 +43,7 @@
+ #include "qxcbwindow.h"
+ #include "qtouchdevice.h"
+ #include "QtCore/qmetaobject.h"
++#include "QtCore/qendian.h"
+ #include <qpa/qwindowsysteminterface_p.h>
+ #include <QDebug>
+ #include <cmath>
+@@ -66,6 +67,7 @@
+     xiEventMask.mask = XCB_INPUT_XI_EVENT_MASK_HIERARCHY;
+     xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED;
+     xiEventMask.mask |= XCB_INPUT_XI_EVENT_MASK_PROPERTY;
++    xiEventMask.mask = qToLittleEndian(xiEventMask.mask);
+     xcb_input_xi_select_events(xcb_connection(), rootWindow(), 1, &xiEventMask.header);
+ }
+ 
+@@ -90,7 +92,7 @@
+     qt_xcb_input_event_mask_t mask;
+     mask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER;
+     mask.header.mask_len = 1;
+-    mask.mask = bitMask;
++    mask.mask = qToLittleEndian(bitMask);
+     xcb_void_cookie_t cookie =
+             xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &mask.header);
+     xcb_generic_error_t *error = xcb_request_check(xcb_connection(), cookie);
+@@ -359,7 +361,7 @@
+         qt_xcb_input_event_mask_t xiMask;
+         xiMask.header.deviceid = XCB_INPUT_DEVICE_ALL_MASTER;
+         xiMask.header.mask_len = 1;
+-        xiMask.mask = mask;
++        xiMask.mask = qToLittleEndian(mask);
+ 
+         xcb_void_cookie_t cookie =
+                 xcb_input_xi_select_events_checked(xcb_connection(), window, 1, &xiMask.header);
+@@ -386,7 +388,7 @@
+             tabletDevices.insert(deviceId);
+             xiEventMask[i].header.deviceid = deviceId;
+             xiEventMask[i].header.mask_len = 1;
+-            xiEventMask[i].mask = mask;
++            xiEventMask[i].mask = qToLittleEndian(mask);
+         }
+         xcb_input_xi_select_events(xcb_connection(), window, nrTablets, &(xiEventMask.data()->header));
+     }
+@@ -402,7 +404,7 @@
+ #endif
+             xiEventMask[i].header.deviceid = scrollingDevice.deviceId;
+             xiEventMask[i].header.mask_len = 1;
+-            xiEventMask[i].mask = mask;
++            xiEventMask[i].mask = qToLittleEndian(mask);
+             i++;
+         }
+         xcb_input_xi_select_events(xcb_connection(), window, i, &(xiEventMask.data()->header));
\ No newline at end of file


More information about the dev-commits-ports-all mailing list