Commits:
-
ed12a34e
by Alan Coopersmith at 2022-07-17T13:34:52-07:00
Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
0fb16bad
by Alan Coopersmith at 2022-07-17T13:39:39-07:00
Fix spelling/wording issues
Found by using:
codespell --builtin clear,rare,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
87202ce9
by Alan Coopersmith at 2022-07-23T15:28:42-07:00
gitlab CI: enable commit & merge request checks
Uses ci-fairy from freedesktop/ci-templates
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
bca3474a
by Alan Coopersmith at 2022-07-23T15:30:56-07:00
gitlab CI: enable gitlab's builtin static analysis
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
08431d06
by Alan Coopersmith at 2022-08-25T15:50:19-07:00
XInput_find_display: Don't dereference NULL dpyinfo
Unlikely, but could happen if calloc fails in XextAddDisplay()
Relies on XextHasExtension(i) macro from <X11/extensions/extutil.h>
which checks for ((i) && ((i)->codes))
Fixes: #15
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
826215af
by Alan Coopersmith at 2023-03-04T15:27:07-08:00
configure: Use LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOL
AC_PROG_LIBTOOL was replaced by LT_INIT in libtool 2 in 2008,
so it's time to rely on it.
Clears autoconf warnings:
configure.ac:13: warning: The macro `AC_PROG_LIBTOOL' is obsolete.
configure.ac:13: You should run autoupdate.
aclocal.m4:3465: AC_PROG_LIBTOOL is expanded from...
configure.ac:13: the top level
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
0f1541e1
by Peter Hutterer at 2023-05-02T08:59:25+10:00
Initialize a few stack vars to zero
Modified version of the patch from #4
Fixes #4
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
3a7503ec
by Peter Hutterer at 2023-05-04T14:42:16+10:00
libXi 1.8.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 changed files:
Changes:
.gitlab-ci.yml
... |
... |
@@ -6,11 +6,17 @@ include: |
6
|
6
|
- project: 'freedesktop/ci-templates'
|
7
|
7
|
ref: *template_sha
|
8
|
8
|
file: '/templates/debian.yml'
|
|
9
|
+ - project: 'freedesktop/ci-templates'
|
|
10
|
+ ref: *template_sha
|
|
11
|
+ file: '/templates/ci-fairy.yml'
|
|
12
|
+ - template: Security/SAST.gitlab-ci.yml
|
9
|
13
|
|
10
|
14
|
stages:
|
11
|
15
|
- prep
|
12
|
16
|
- install xorgproto
|
13
|
17
|
- build
|
|
18
|
+ - test
|
|
19
|
+ - deploy
|
14
|
20
|
|
15
|
21
|
variables:
|
16
|
22
|
FDO_DISTRIBUTION_TAG: '2021-05-30.8' # change this to rebuild the images
|
... |
... |
@@ -22,6 +28,45 @@ variables: |
22
|
28
|
NINJA_ARGS: ''
|
23
|
29
|
MESON_ARGS: ''
|
24
|
30
|
|
|
31
|
+#
|
|
32
|
+# Verify that commit messages are as expected
|
|
33
|
+#
|
|
34
|
+check-commits:
|
|
35
|
+ extends:
|
|
36
|
+ - .fdo.ci-fairy
|
|
37
|
+ stage: prep
|
|
38
|
+ script:
|
|
39
|
+ - ci-fairy check-commits --junit-xml=results.xml
|
|
40
|
+ except:
|
|
41
|
+ - master@xorg/proto/xcbproto
|
|
42
|
+ variables:
|
|
43
|
+ GIT_DEPTH: 100
|
|
44
|
+ artifacts:
|
|
45
|
+ reports:
|
|
46
|
+ junit: results.xml
|
|
47
|
+ allow_failure: true
|
|
48
|
+
|
|
49
|
+#
|
|
50
|
+# Verify that the merge request has the allow-collaboration checkbox ticked
|
|
51
|
+#
|
|
52
|
+check-merge-request:
|
|
53
|
+ extends:
|
|
54
|
+ - .fdo.ci-fairy
|
|
55
|
+ stage: deploy
|
|
56
|
+ script:
|
|
57
|
+ - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
|
|
58
|
+ artifacts:
|
|
59
|
+ when: on_failure
|
|
60
|
+ reports:
|
|
61
|
+ junit: results.xml
|
|
62
|
+ allow_failure: true
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+#
|
|
66
|
+# Build a container with the given tag and the packages pre-installed.
|
|
67
|
+# This only happens if/when the tag changes, otherwise the existing image is
|
|
68
|
+# re-used.
|
|
69
|
+#
|
25
|
70
|
container-prep:
|
26
|
71
|
extends:
|
27
|
72
|
- .fdo.container-build@debian
|
README.md
... |
... |
@@ -6,7 +6,7 @@ Xorg mailing list: |
6
|
6
|
|
7
|
7
|
https://lists.x.org/mailman/listinfo/xorg
|
8
|
8
|
|
9
|
|
-The master development code repository can be found at:
|
|
9
|
+The primary development code repository can be found at:
|
10
|
10
|
|
11
|
11
|
https://gitlab.freedesktop.org/xorg/lib/libXi
|
12
|
12
|
|
configure.ac
1
|
1
|
|
2
|
2
|
# Initialize Autoconf
|
3
|
3
|
AC_PREREQ([2.60])
|
4
|
|
-AC_INIT([libXi], [1.8],
|
|
4
|
+AC_INIT([libXi], [1.8.1],
|
5
|
5
|
[https://gitlab.freedesktop.org/xorg/lib/libXi/issues], [libXi])
|
6
|
6
|
AC_CONFIG_SRCDIR([Makefile.am])
|
7
|
7
|
AC_CONFIG_HEADERS([src/config.h])
|
|
8
|
+AC_CONFIG_MACRO_DIRS([m4])
|
8
|
9
|
|
9
|
10
|
# Initialize Automake
|
10
|
|
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
11
|
+AM_INIT_AUTOMAKE([foreign dist-xz])
|
11
|
12
|
|
12
|
13
|
# Initialize libtool
|
13
|
|
-AC_PROG_LIBTOOL
|
|
14
|
+LT_INIT
|
14
|
15
|
|
15
|
16
|
# Require xorg-macros minimum of 1.12 for DocBook external references
|
16
|
17
|
m4_ifndef([XORG_MACROS_VERSION],
|
include/X11/extensions/XInput.h
... |
... |
@@ -204,7 +204,7 @@ typedef struct |
204
|
204
|
Display *display; /* Display the event was read from */
|
205
|
205
|
Window window; /* "event" window reported relative to */
|
206
|
206
|
XID deviceid;
|
207
|
|
- Window root; /* root window event occured on */
|
|
207
|
+ Window root; /* root window event occurred on */
|
208
|
208
|
Window subwindow; /* child window */
|
209
|
209
|
Time time; /* milliseconds */
|
210
|
210
|
int x, y; /* x, y coordinates in event window */
|
... |
... |
@@ -236,7 +236,7 @@ typedef struct { |
236
|
236
|
Display *display; /* Display the event was read from */
|
237
|
237
|
Window window; /* "event" window reported relative to */
|
238
|
238
|
XID deviceid;
|
239
|
|
- Window root; /* root window that the event occured on */
|
|
239
|
+ Window root; /* root window that the event occurred on */
|
240
|
240
|
Window subwindow; /* child window */
|
241
|
241
|
Time time; /* milliseconds */
|
242
|
242
|
int x, y; /* x, y coordinates in event window */
|
... |
... |
@@ -269,7 +269,7 @@ typedef struct |
269
|
269
|
Display *display; /* Display the event was read from */
|
270
|
270
|
Window window; /* "event" window reported relative to */
|
271
|
271
|
XID deviceid;
|
272
|
|
- Window root; /* root window that the event occured on */
|
|
272
|
+ Window root; /* root window that the event occurred on */
|
273
|
273
|
Window subwindow; /* child window */
|
274
|
274
|
Time time; /* milliseconds */
|
275
|
275
|
int x, y; /* x, y coordinates in event window */
|
specs/library.xml
... |
... |
@@ -281,7 +281,7 @@ request, see the section entitled ``Selecting Extension Device Events.'' |
281
|
281
|
<olink targetdoc='libX11' targetptr='XNextEvent'><function>XNextEvent</function></olink>
|
282
|
282
|
- receives the next available event. This is the core
|
283
|
283
|
<olink targetdoc='libX11' targetptr='XNextEvent'><function>XNextEvent</function></olink>
|
284
|
|
-function provided by the standard X libarary.
|
|
284
|
+function provided by the standard X library.
|
285
|
285
|
</para>
|
286
|
286
|
</listitem>
|
287
|
287
|
</itemizedlist>
|
... |
... |
@@ -5221,7 +5221,7 @@ Determine selected device events |
5221
|
5221
|
</listitem>
|
5222
|
5222
|
<listitem>
|
5223
|
5223
|
<para>
|
5224
|
|
-Control event propogation
|
|
5224
|
+Control event propagation
|
5225
|
5225
|
</para>
|
5226
|
5226
|
</listitem>
|
5227
|
5227
|
<listitem>
|
... |
... |
@@ -7405,7 +7405,7 @@ typedef struct |
7405
|
7405
|
Display *display; /* Display the event was read from */
|
7406
|
7406
|
Window window; /* "event" window reported relative to */
|
7407
|
7407
|
XID deviceid;
|
7408
|
|
- Window root; /* root window event occured on */
|
|
7408
|
+ Window root; /* root window event occurred on */
|
7409
|
7409
|
Window subwindow; /* child window */
|
7410
|
7410
|
Time time; /* milliseconds */
|
7411
|
7411
|
int x, y; /* x, y coordinates in event window */
|
... |
... |
@@ -7437,7 +7437,7 @@ typedef struct { |
7437
|
7437
|
Display *display; /* Display the event was read from */
|
7438
|
7438
|
Window window; /* "event" window reported relative to */
|
7439
|
7439
|
XID deviceid;
|
7440
|
|
- Window root; /* root window that the event occured on */
|
|
7440
|
+ Window root; /* root window that the event occurred on */
|
7441
|
7441
|
Window subwindow; /* child window */
|
7442
|
7442
|
Time time; /* milliseconds */
|
7443
|
7443
|
int x, y; /* x, y coordinates in event window */
|
... |
... |
@@ -7470,7 +7470,7 @@ typedef struct |
7470
|
7470
|
Display *display; /* Display the event was read from */
|
7471
|
7471
|
Window window; /* "event" window reported relative to */
|
7472
|
7472
|
XID deviceid;
|
7473
|
|
- Window root; /* root window that the event occured on */
|
|
7473
|
+ Window root; /* root window that the event occurred on */
|
7474
|
7474
|
Window subwindow; /* child window */
|
7475
|
7475
|
Time time; /* milliseconds */
|
7476
|
7476
|
int x, y; /* x, y coordinates in event window */
|
src/XChgFCtl.c
... |
... |
@@ -86,7 +86,7 @@ XChangeFeedbackControl( |
86
|
86
|
|
87
|
87
|
if (f->class == KbdFeedbackClass) {
|
88
|
88
|
XKbdFeedbackControl *K;
|
89
|
|
- xKbdFeedbackCtl k;
|
|
89
|
+ xKbdFeedbackCtl k = {0};
|
90
|
90
|
|
91
|
91
|
K = (XKbdFeedbackControl *) f;
|
92
|
92
|
k.class = KbdFeedbackClass;
|
... |
... |
@@ -106,7 +106,7 @@ XChangeFeedbackControl( |
106
|
106
|
Data(dpy, (char *)&k, length);
|
107
|
107
|
} else if (f->class == PtrFeedbackClass) {
|
108
|
108
|
XPtrFeedbackControl *P;
|
109
|
|
- xPtrFeedbackCtl p;
|
|
109
|
+ xPtrFeedbackCtl p = {0};
|
110
|
110
|
|
111
|
111
|
P = (XPtrFeedbackControl *) f;
|
112
|
112
|
p.class = PtrFeedbackClass;
|
... |
... |
@@ -121,7 +121,7 @@ XChangeFeedbackControl( |
121
|
121
|
Data(dpy, (char *)&p, length);
|
122
|
122
|
} else if (f->class == IntegerFeedbackClass) {
|
123
|
123
|
XIntegerFeedbackControl *I;
|
124
|
|
- xIntegerFeedbackCtl i;
|
|
124
|
+ xIntegerFeedbackCtl i = {0};
|
125
|
125
|
|
126
|
126
|
I = (XIntegerFeedbackControl *) f;
|
127
|
127
|
i.class = IntegerFeedbackClass;
|
... |
... |
@@ -134,7 +134,7 @@ XChangeFeedbackControl( |
134
|
134
|
Data(dpy, (char *)&i, length);
|
135
|
135
|
} else if (f->class == StringFeedbackClass) {
|
136
|
136
|
XStringFeedbackControl *S;
|
137
|
|
- xStringFeedbackCtl s;
|
|
137
|
+ xStringFeedbackCtl s = {0};
|
138
|
138
|
|
139
|
139
|
S = (XStringFeedbackControl *) f;
|
140
|
140
|
s.class = StringFeedbackClass;
|
... |
... |
@@ -149,7 +149,7 @@ XChangeFeedbackControl( |
149
|
149
|
Data(dpy, (char *)S->syms_to_display, length);
|
150
|
150
|
} else if (f->class == BellFeedbackClass) {
|
151
|
151
|
XBellFeedbackControl *B;
|
152
|
|
- xBellFeedbackCtl b;
|
|
152
|
+ xBellFeedbackCtl b = {0};
|
153
|
153
|
|
154
|
154
|
B = (XBellFeedbackControl *) f;
|
155
|
155
|
b.class = BellFeedbackClass;
|
... |
... |
@@ -164,7 +164,7 @@ XChangeFeedbackControl( |
164
|
164
|
Data(dpy, (char *)&b, length);
|
165
|
165
|
} else if (f->class == LedFeedbackClass) {
|
166
|
166
|
XLedFeedbackControl *L;
|
167
|
|
- xLedFeedbackCtl l;
|
|
167
|
+ xLedFeedbackCtl l = {0};
|
168
|
168
|
|
169
|
169
|
L = (XLedFeedbackControl *) f;
|
170
|
170
|
l.class = LedFeedbackClass;
|
... |
... |
@@ -177,7 +177,7 @@ XChangeFeedbackControl( |
177
|
177
|
length <<= 2;
|
178
|
178
|
Data(dpy, (char *)&l, length);
|
179
|
179
|
} else {
|
180
|
|
- xFeedbackCtl u;
|
|
180
|
+ xFeedbackCtl u = {0};
|
181
|
181
|
|
182
|
182
|
u.class = f->class;
|
183
|
183
|
u.length = f->length - sizeof(int);
|
src/XExtInt.c
... |
... |
@@ -230,7 +230,7 @@ XExtDisplayInfo *XInput_find_display (Display *dpy) |
230
|
230
|
xinput_extension_name,
|
231
|
231
|
&xinput_extension_hooks,
|
232
|
232
|
nevents, NULL);
|
233
|
|
- if (dpyinfo->codes) /* NULL if XI doesn't exist on the server */
|
|
233
|
+ if (XextHasExtension(dpyinfo)) /* skip if XI doesn't exist on the server */
|
234
|
234
|
{
|
235
|
235
|
XESetWireToEventCookie(dpy, dpyinfo->codes->major_opcode, XInputWireToCookie);
|
236
|
236
|
XESetCopyEventCookie(dpy, dpyinfo->codes->major_opcode, XInputCopyCookie);
|
|