summaryrefslogtreecommitdiff
path: root/user/qt5-qtbase/big-endian-scroll-wheel.patch
blob: 4cfa4f7b804ae3ab0ad37bb624371e9ca4a3deb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
--- qtbase-everywhere-src-5.12.3/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp.orig	2019-08-02 17:27:00.011197696 +0200
+++ qtbase-everywhere-src-5.12.3/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp	2019-08-02 17:29:36.336019411 +0200
@@ -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);
@@ -363,7 +365,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);
@@ -390,7 +392,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));
     }
@@ -406,7 +408,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));