Module Name: src
Committed By: mrg
Date: Tue Jul 12 02:44:09 UTC 2022
Modified Files:
src/external/mit/xorg/lib/libxcb/files: config.h damage.h dri3.c dri3.h
glx.c randr.h record.h render.h screensaver.c screensaver.h shm.h
xfixes.c xfixes.h xinput.c xinput.h xproto.h xv.h
Removed Files:
src/external/mit/xorg/lib/libxcb/files: xf86vidmode.c xf86vidmode.h
Log Message:
updates for generated files.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/mit/xorg/lib/libxcb/files/config.h \
src/external/mit/xorg/lib/libxcb/files/damage.h \
src/external/mit/xorg/lib/libxcb/files/glx.c \
src/external/mit/xorg/lib/libxcb/files/render.h \
src/external/mit/xorg/lib/libxcb/files/screensaver.c \
src/external/mit/xorg/lib/libxcb/files/screensaver.h \
src/external/mit/xorg/lib/libxcb/files/shm.h \
src/external/mit/xorg/lib/libxcb/files/xfixes.c \
src/external/mit/xorg/lib/libxcb/files/xfixes.h \
src/external/mit/xorg/lib/libxcb/files/xproto.h \
src/external/mit/xorg/lib/libxcb/files/xv.h
cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/libxcb/files/dri3.c \
src/external/mit/xorg/lib/libxcb/files/dri3.h \
src/external/mit/xorg/lib/libxcb/files/record.h
cvs rdiff -u -r1.6 -r1.7 src/external/mit/xorg/lib/libxcb/files/randr.h \
src/external/mit/xorg/lib/libxcb/files/xinput.c \
src/external/mit/xorg/lib/libxcb/files/xinput.h
cvs rdiff -u -r1.1 -r0 src/external/mit/xorg/lib/libxcb/files/xf86vidmode.c \
src/external/mit/xorg/lib/libxcb/files/xf86vidmode.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/mit/xorg/lib/libxcb/files/config.h
diff -u src/external/mit/xorg/lib/libxcb/files/config.h:1.5 src/external/mit/xorg/lib/libxcb/files/config.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/config.h:1.5 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/config.h Tue Jul 12 02:44:09 2022
@@ -28,8 +28,8 @@
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
/* #undef HAVE_LIBWS2_32 */
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
/* Define if your platform supports sendmsg */
#define HAVE_SENDMSG 1
@@ -40,6 +40,9 @@
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
@@ -61,6 +64,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
/* Define if not provided by <limits.h> */
/* #undef IOV_MAX */
@@ -71,13 +77,13 @@
#define PACKAGE "libxcb"
/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xcb"
+#define PACKAGE_BUGREPORT "https://gitlab.freedesktop.org/xorg/lib/libxcb/issues"
/* Define to the full name of this package. */
#define PACKAGE_NAME "libxcb"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libxcb 1.13"
+#define PACKAGE_STRING "libxcb 1.15"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libxcb"
@@ -86,18 +92,20 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.13"
+#define PACKAGE_VERSION "1.15"
/* Major version of this package */
#define PACKAGE_VERSION_MAJOR 1
/* Minor version of this package */
-#define PACKAGE_VERSION_MINOR 13
+#define PACKAGE_VERSION_MINOR 15
/* Patch version of this package */
#define PACKAGE_VERSION_PATCHLEVEL 0
-/* Define to 1 if you have the ANSI C header files. */
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+ required in a freestanding environment). This macro is provided for
+ backward compatibility; new code need not use it. */
#define STDC_HEADERS 1
/* poll() function is available */
@@ -107,39 +115,95 @@
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
+/* Enable general extensions on macOS. */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
-/* Enable threading extensions on Solaris. */
+/* Enable X/Open compliant socket functions that do not require linking
+ with -lxnet on HP-UX 11.11. */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+ This macro does not affect the system headers' behavior.
+ A future release of Autoconf may stop defining this macro. */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+ Enable NetBSD compatibility extensions on Minix. */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+ Oddly enough, this does nothing on OpenBSD. */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior. */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior. */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009. */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
+/* Enable X/Open extensions. Define to 500 only if necessary
+ to make mbstate_t available. */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
#endif
/* Version number of package */
-#define VERSION "1.13"
+#define VERSION "1.15"
/* XCB buffer queue size */
#define XCB_QUEUE_BUFFER_SIZE 16384
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-/* #undef _POSIX_SOURCE */
-
/* Defined if needed to expose struct msghdr.msg_control */
/* #undef _XOPEN_SOURCE */
Index: src/external/mit/xorg/lib/libxcb/files/damage.h
diff -u src/external/mit/xorg/lib/libxcb/files/damage.h:1.5 src/external/mit/xorg/lib/libxcb/files/damage.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/damage.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/damage.h Tue Jul 12 02:44:09 2022
@@ -53,6 +53,9 @@ typedef struct xcb_damage_bad_damage_err
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_damage_bad_damage_error_t;
/**
Index: src/external/mit/xorg/lib/libxcb/files/glx.c
diff -u src/external/mit/xorg/lib/libxcb/files/glx.c:1.5 src/external/mit/xorg/lib/libxcb/files/glx.c:1.6
--- src/external/mit/xorg/lib/libxcb/files/glx.c:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/glx.c Tue Jul 12 02:44:09 2022
@@ -3025,6 +3025,15 @@ xcb_glx_set_client_info_arb_sizeof (cons
xcb_block_len += _aux->gl_str_len * sizeof(char);
xcb_tmp += xcb_block_len;
xcb_align_to = ALIGNOF(char);
+ xcb_align_to = 4;
+ /* insert padding */
+ xcb_pad = -xcb_block_len & (xcb_align_to - 1);
+ xcb_buffer_len += xcb_block_len + xcb_pad;
+ if (0 != xcb_pad) {
+ xcb_tmp += xcb_pad;
+ xcb_pad = 0;
+ }
+ xcb_block_len = 0;
/* insert padding */
xcb_pad = -xcb_block_len & (xcb_align_to - 1);
xcb_buffer_len += xcb_block_len + xcb_pad;
@@ -3203,7 +3212,7 @@ char *
xcb_glx_set_client_info_arb_glx_extension_string (const xcb_glx_set_client_info_arb_request_t *R)
{
xcb_generic_iterator_t prev = xcb_glx_set_client_info_arb_gl_extension_string_end(R);
- return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
+ return (char *) ((char *) prev.data + ((-prev.index) & (4 - 1)) + 0);
}
int
@@ -3217,7 +3226,7 @@ xcb_glx_set_client_info_arb_glx_extensio
{
xcb_generic_iterator_t i;
xcb_generic_iterator_t prev = xcb_glx_set_client_info_arb_gl_extension_string_end(R);
- i.data = ((char *) ((char*) prev.data + XCB_TYPE_PAD(char, prev.index))) + (R->glx_str_len);
+ i.data = ((char *) ((char*) prev.data + ((-prev.index) & (4 - 1)))) + (R->glx_str_len);
i.rem = 0;
i.index = (char *) i.data - (char *) R;
return i;
@@ -3393,6 +3402,15 @@ xcb_glx_set_client_info_2arb_sizeof (con
xcb_block_len += _aux->gl_str_len * sizeof(char);
xcb_tmp += xcb_block_len;
xcb_align_to = ALIGNOF(char);
+ xcb_align_to = 4;
+ /* insert padding */
+ xcb_pad = -xcb_block_len & (xcb_align_to - 1);
+ xcb_buffer_len += xcb_block_len + xcb_pad;
+ if (0 != xcb_pad) {
+ xcb_tmp += xcb_pad;
+ xcb_pad = 0;
+ }
+ xcb_block_len = 0;
/* insert padding */
xcb_pad = -xcb_block_len & (xcb_align_to - 1);
xcb_buffer_len += xcb_block_len + xcb_pad;
@@ -3571,7 +3589,7 @@ char *
xcb_glx_set_client_info_2arb_glx_extension_string (const xcb_glx_set_client_info_2arb_request_t *R)
{
xcb_generic_iterator_t prev = xcb_glx_set_client_info_2arb_gl_extension_string_end(R);
- return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
+ return (char *) ((char *) prev.data + ((-prev.index) & (4 - 1)) + 0);
}
int
@@ -3585,7 +3603,7 @@ xcb_glx_set_client_info_2arb_glx_extensi
{
xcb_generic_iterator_t i;
xcb_generic_iterator_t prev = xcb_glx_set_client_info_2arb_gl_extension_string_end(R);
- i.data = ((char *) ((char*) prev.data + XCB_TYPE_PAD(char, prev.index))) + (R->glx_str_len);
+ i.data = ((char *) ((char*) prev.data + ((-prev.index) & (4 - 1)))) + (R->glx_str_len);
i.rem = 0;
i.index = (char *) i.data - (char *) R;
return i;
Index: src/external/mit/xorg/lib/libxcb/files/render.h
diff -u src/external/mit/xorg/lib/libxcb/files/render.h:1.5 src/external/mit/xorg/lib/libxcb/files/render.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/render.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/render.h Tue Jul 12 02:44:09 2022
@@ -196,6 +196,9 @@ typedef struct xcb_render_pict_format_er
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_render_pict_format_error_t;
/** Opcode for xcb_render_picture. */
@@ -208,6 +211,9 @@ typedef struct xcb_render_picture_error_
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_render_picture_error_t;
/** Opcode for xcb_render_pict_op. */
@@ -220,6 +226,9 @@ typedef struct xcb_render_pict_op_error_
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_render_pict_op_error_t;
/** Opcode for xcb_render_glyph_set. */
@@ -232,6 +241,9 @@ typedef struct xcb_render_glyph_set_erro
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_render_glyph_set_error_t;
/** Opcode for xcb_render_glyph. */
@@ -244,6 +256,9 @@ typedef struct xcb_render_glyph_error_t
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_render_glyph_error_t;
/**
Index: src/external/mit/xorg/lib/libxcb/files/screensaver.c
diff -u src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.5 src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.6
--- src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/screensaver.c Tue Jul 12 02:44:09 2022
@@ -797,7 +797,7 @@ xcb_screensaver_unset_attributes (xcb_co
xcb_void_cookie_t
xcb_screensaver_suspend_checked (xcb_connection_t *c,
- uint8_t suspend)
+ uint32_t suspend)
{
static const xcb_protocol_request_t xcb_req = {
.count = 2,
@@ -811,7 +811,6 @@ xcb_screensaver_suspend_checked (xcb_con
xcb_screensaver_suspend_request_t xcb_out;
xcb_out.suspend = suspend;
- memset(xcb_out.pad0, 0, 3);
xcb_parts[2].iov_base = (char *) &xcb_out;
xcb_parts[2].iov_len = sizeof(xcb_out);
@@ -824,7 +823,7 @@ xcb_screensaver_suspend_checked (xcb_con
xcb_void_cookie_t
xcb_screensaver_suspend (xcb_connection_t *c,
- uint8_t suspend)
+ uint32_t suspend)
{
static const xcb_protocol_request_t xcb_req = {
.count = 2,
@@ -838,7 +837,6 @@ xcb_screensaver_suspend (xcb_connection_
xcb_screensaver_suspend_request_t xcb_out;
xcb_out.suspend = suspend;
- memset(xcb_out.pad0, 0, 3);
xcb_parts[2].iov_base = (char *) &xcb_out;
xcb_parts[2].iov_len = sizeof(xcb_out);
Index: src/external/mit/xorg/lib/libxcb/files/screensaver.h
diff -u src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.5 src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/screensaver.h Tue Jul 12 02:44:09 2022
@@ -193,8 +193,7 @@ typedef struct xcb_screensaver_suspend_r
uint8_t major_opcode;
uint8_t minor_opcode;
uint16_t length;
- uint8_t suspend;
- uint8_t pad0[3];
+ uint32_t suspend;
} xcb_screensaver_suspend_request_t;
/** Opcode for xcb_screensaver_notify. */
@@ -492,7 +491,7 @@ xcb_screensaver_unset_attributes (xcb_co
*/
xcb_void_cookie_t
xcb_screensaver_suspend_checked (xcb_connection_t *c,
- uint8_t suspend);
+ uint32_t suspend);
/**
*
@@ -504,7 +503,7 @@ xcb_screensaver_suspend_checked (xcb_con
*/
xcb_void_cookie_t
xcb_screensaver_suspend (xcb_connection_t *c,
- uint8_t suspend);
+ uint32_t suspend);
#ifdef __cplusplus
Index: src/external/mit/xorg/lib/libxcb/files/shm.h
diff -u src/external/mit/xorg/lib/libxcb/files/shm.h:1.5 src/external/mit/xorg/lib/libxcb/files/shm.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/shm.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/shm.h Tue Jul 12 02:44:09 2022
@@ -627,9 +627,10 @@ xcb_shm_create_segment_reply (xcb_connec
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_shm_create_segment_reply_fds (xcb_connection_t *c /**< */,
Index: src/external/mit/xorg/lib/libxcb/files/xfixes.c
diff -u src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.5 src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.6
--- src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/xfixes.c Tue Jul 12 02:44:09 2022
@@ -2589,3 +2589,111 @@ xcb_xfixes_delete_pointer_barrier (xcb_c
return xcb_ret;
}
+xcb_void_cookie_t
+xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c,
+ uint32_t disconnect_mode)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_xfixes_id,
+ .opcode = XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE,
+ .isvoid = 1
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_void_cookie_t xcb_ret;
+ xcb_xfixes_set_client_disconnect_mode_request_t xcb_out;
+
+ xcb_out.disconnect_mode = disconnect_mode;
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
+xcb_void_cookie_t
+xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c,
+ uint32_t disconnect_mode)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_xfixes_id,
+ .opcode = XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE,
+ .isvoid = 1
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_void_cookie_t xcb_ret;
+ xcb_xfixes_set_client_disconnect_mode_request_t xcb_out;
+
+ xcb_out.disconnect_mode = disconnect_mode;
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
+xcb_xfixes_get_client_disconnect_mode_cookie_t
+xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_xfixes_id,
+ .opcode = XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE,
+ .isvoid = 0
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_xfixes_get_client_disconnect_mode_cookie_t xcb_ret;
+ xcb_xfixes_get_client_disconnect_mode_request_t xcb_out;
+
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
+xcb_xfixes_get_client_disconnect_mode_cookie_t
+xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_xfixes_id,
+ .opcode = XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE,
+ .isvoid = 0
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_xfixes_get_client_disconnect_mode_cookie_t xcb_ret;
+ xcb_xfixes_get_client_disconnect_mode_request_t xcb_out;
+
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
+xcb_xfixes_get_client_disconnect_mode_reply_t *
+xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t *c,
+ xcb_xfixes_get_client_disconnect_mode_cookie_t cookie /**< */,
+ xcb_generic_error_t **e)
+{
+ return (xcb_xfixes_get_client_disconnect_mode_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
+}
+
Index: src/external/mit/xorg/lib/libxcb/files/xfixes.h
diff -u src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.5 src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/xfixes.h Tue Jul 12 02:44:09 2022
@@ -21,7 +21,7 @@
extern "C" {
#endif
-#define XCB_XFIXES_MAJOR_VERSION 5
+#define XCB_XFIXES_MAJOR_VERSION 6
#define XCB_XFIXES_MINOR_VERSION 0
extern xcb_extension_t xcb_xfixes_id;
@@ -234,6 +234,9 @@ typedef struct xcb_xfixes_bad_region_err
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_xfixes_bad_region_error_t;
typedef enum xcb_xfixes_region_enum_t {
@@ -734,6 +737,55 @@ typedef struct xcb_xfixes_delete_pointer
xcb_xfixes_barrier_t barrier;
} xcb_xfixes_delete_pointer_barrier_request_t;
+typedef enum xcb_xfixes_client_disconnect_flags_t {
+ XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_DEFAULT = 0,
+ XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1
+} xcb_xfixes_client_disconnect_flags_t;
+
+/** Opcode for xcb_xfixes_set_client_disconnect_mode. */
+#define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33
+
+/**
+ * @brief xcb_xfixes_set_client_disconnect_mode_request_t
+ **/
+typedef struct xcb_xfixes_set_client_disconnect_mode_request_t {
+ uint8_t major_opcode;
+ uint8_t minor_opcode;
+ uint16_t length;
+ uint32_t disconnect_mode;
+} xcb_xfixes_set_client_disconnect_mode_request_t;
+
+/**
+ * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t
+ **/
+typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t {
+ unsigned int sequence;
+} xcb_xfixes_get_client_disconnect_mode_cookie_t;
+
+/** Opcode for xcb_xfixes_get_client_disconnect_mode. */
+#define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34
+
+/**
+ * @brief xcb_xfixes_get_client_disconnect_mode_request_t
+ **/
+typedef struct xcb_xfixes_get_client_disconnect_mode_request_t {
+ uint8_t major_opcode;
+ uint8_t minor_opcode;
+ uint16_t length;
+} xcb_xfixes_get_client_disconnect_mode_request_t;
+
+/**
+ * @brief xcb_xfixes_get_client_disconnect_mode_reply_t
+ **/
+typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t {
+ uint8_t response_type;
+ uint8_t pad0;
+ uint16_t sequence;
+ uint32_t length;
+ uint32_t disconnect_mode;
+ uint8_t pad1[20];
+} xcb_xfixes_get_client_disconnect_mode_reply_t;
+
/**
*
* @param c The connection
@@ -1993,6 +2045,77 @@ xcb_void_cookie_t
xcb_xfixes_delete_pointer_barrier (xcb_connection_t *c,
xcb_xfixes_barrier_t barrier);
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+xcb_void_cookie_t
+xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c,
+ uint32_t disconnect_mode);
+
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+xcb_void_cookie_t
+xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c,
+ uint32_t disconnect_mode);
+
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+xcb_xfixes_get_client_disconnect_mode_cookie_t
+xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c);
+
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will cause
+ * a reply to be generated. Any returned error will be
+ * placed in the event queue.
+ */
+xcb_xfixes_get_client_disconnect_mode_cookie_t
+xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c);
+
+/**
+ * Return the reply
+ * @param c The connection
+ * @param cookie The cookie
+ * @param e The xcb_generic_error_t supplied
+ *
+ * Returns the reply of the request asked by
+ *
+ * The parameter @p e supplied to this function must be NULL if
+ * xcb_xfixes_get_client_disconnect_mode_unchecked(). is used.
+ * Otherwise, it stores the error if any.
+ *
+ * The returned value must be freed by the caller using free().
+ */
+xcb_xfixes_get_client_disconnect_mode_reply_t *
+xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t *c,
+ xcb_xfixes_get_client_disconnect_mode_cookie_t cookie /**< */,
+ xcb_generic_error_t **e);
+
#ifdef __cplusplus
}
Index: src/external/mit/xorg/lib/libxcb/files/xproto.h
diff -u src/external/mit/xorg/lib/libxcb/files/xproto.h:1.5 src/external/mit/xorg/lib/libxcb/files/xproto.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/xproto.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/xproto.h Tue Jul 12 02:44:09 2022
@@ -7799,12 +7799,12 @@ xcb_ungrab_keyboard (xcb_connection_t *c
* @brief Grab keyboard key(s)
*
* @param c The connection
- * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
+ * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not
* reported to the \a grab_window.
- * @param grab_window Specifies the window on which the pointer should be grabbed.
+ * @param grab_window Specifies the window on which the key should be grabbed.
* @param modifiers The modifiers to grab.
* \n
- * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
+ * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all
* possible modifier combinations.
* @param key The keycode of the key to grab.
* \n
@@ -7863,12 +7863,12 @@ xcb_grab_key_checked (xcb_connection_t *
* @brief Grab keyboard key(s)
*
* @param c The connection
- * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
+ * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not
* reported to the \a grab_window.
- * @param grab_window Specifies the window on which the pointer should be grabbed.
+ * @param grab_window Specifies the window on which the key should be grabbed.
* @param modifiers The modifiers to grab.
* \n
- * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
+ * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all
* possible modifier combinations.
* @param key The keycode of the key to grab.
* \n
Index: src/external/mit/xorg/lib/libxcb/files/xv.h
diff -u src/external/mit/xorg/lib/libxcb/files/xv.h:1.5 src/external/mit/xorg/lib/libxcb/files/xv.h:1.6
--- src/external/mit/xorg/lib/libxcb/files/xv.h:1.5 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/xv.h Tue Jul 12 02:44:09 2022
@@ -260,6 +260,9 @@ typedef struct xcb_xv_bad_port_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_xv_bad_port_error_t;
/** Opcode for xcb_xv_bad_encoding. */
@@ -272,6 +275,9 @@ typedef struct xcb_xv_bad_encoding_error
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_xv_bad_encoding_error_t;
/** Opcode for xcb_xv_bad_control. */
@@ -284,6 +290,9 @@ typedef struct xcb_xv_bad_control_error_
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_xv_bad_control_error_t;
/** Opcode for xcb_xv_video_notify. */
Index: src/external/mit/xorg/lib/libxcb/files/dri3.c
diff -u src/external/mit/xorg/lib/libxcb/files/dri3.c:1.4 src/external/mit/xorg/lib/libxcb/files/dri3.c:1.5
--- src/external/mit/xorg/lib/libxcb/files/dri3.c:1.4 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/dri3.c Tue Jul 12 02:44:09 2022
@@ -917,3 +917,63 @@ xcb_dri3_buffers_from_pixmap_reply_fds (
return xcb_get_reply_fds(c, reply, sizeof(xcb_dri3_buffers_from_pixmap_reply_t) + 4 * reply->length);
}
+xcb_void_cookie_t
+xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t drmMajor,
+ uint32_t drmMinor)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_dri3_id,
+ .opcode = XCB_DRI3_SET_DRM_DEVICE_IN_USE,
+ .isvoid = 1
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_void_cookie_t xcb_ret;
+ xcb_dri3_set_drm_device_in_use_request_t xcb_out;
+
+ xcb_out.window = window;
+ xcb_out.drmMajor = drmMajor;
+ xcb_out.drmMinor = drmMinor;
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
+xcb_void_cookie_t
+xcb_dri3_set_drm_device_in_use (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t drmMajor,
+ uint32_t drmMinor)
+{
+ static const xcb_protocol_request_t xcb_req = {
+ .count = 2,
+ .ext = &xcb_dri3_id,
+ .opcode = XCB_DRI3_SET_DRM_DEVICE_IN_USE,
+ .isvoid = 1
+ };
+
+ struct iovec xcb_parts[4];
+ xcb_void_cookie_t xcb_ret;
+ xcb_dri3_set_drm_device_in_use_request_t xcb_out;
+
+ xcb_out.window = window;
+ xcb_out.drmMajor = drmMajor;
+ xcb_out.drmMinor = drmMinor;
+
+ xcb_parts[2].iov_base = (char *) &xcb_out;
+ xcb_parts[2].iov_len = sizeof(xcb_out);
+ xcb_parts[3].iov_base = 0;
+ xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
+
+ xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
+ return xcb_ret;
+}
+
Index: src/external/mit/xorg/lib/libxcb/files/dri3.h
diff -u src/external/mit/xorg/lib/libxcb/files/dri3.h:1.4 src/external/mit/xorg/lib/libxcb/files/dri3.h:1.5
--- src/external/mit/xorg/lib/libxcb/files/dri3.h:1.4 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/dri3.h Tue Jul 12 02:44:09 2022
@@ -20,7 +20,7 @@ extern "C" {
#endif
#define XCB_DRI3_MAJOR_VERSION 1
-#define XCB_DRI3_MINOR_VERSION 2
+#define XCB_DRI3_MINOR_VERSION 3
extern xcb_extension_t xcb_dri3_id;
@@ -297,6 +297,21 @@ typedef struct xcb_dri3_buffers_from_pix
uint8_t pad1[6];
} xcb_dri3_buffers_from_pixmap_reply_t;
+/** Opcode for xcb_dri3_set_drm_device_in_use. */
+#define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9
+
+/**
+ * @brief xcb_dri3_set_drm_device_in_use_request_t
+ **/
+typedef struct xcb_dri3_set_drm_device_in_use_request_t {
+ uint8_t major_opcode;
+ uint8_t minor_opcode;
+ uint16_t length;
+ xcb_window_t window;
+ uint32_t drmMajor;
+ uint32_t drmMinor;
+} xcb_dri3_set_drm_device_in_use_request_t;
+
/**
*
* @param c The connection
@@ -398,9 +413,10 @@ xcb_dri3_open_reply (xcb_connection_t
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_dri3_open_reply_fds (xcb_connection_t *c /**< */,
@@ -500,9 +516,10 @@ xcb_dri3_buffer_from_pixmap_reply (xcb_c
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t *c /**< */,
@@ -594,9 +611,10 @@ xcb_dri3_fd_from_fence_reply (xcb_connec
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t *c /**< */,
@@ -814,14 +832,46 @@ xcb_dri3_buffers_from_pixmap_reply (xcb_
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t *c /**< */,
xcb_dri3_buffers_from_pixmap_reply_t *reply);
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ * This form can be used only if the request will not cause
+ * a reply to be generated. Any returned error will be
+ * saved for handling by xcb_request_check().
+ */
+xcb_void_cookie_t
+xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t drmMajor,
+ uint32_t drmMinor);
+
+/**
+ *
+ * @param c The connection
+ * @return A cookie
+ *
+ * Delivers a request to the X server.
+ *
+ */
+xcb_void_cookie_t
+xcb_dri3_set_drm_device_in_use (xcb_connection_t *c,
+ xcb_window_t window,
+ uint32_t drmMajor,
+ uint32_t drmMinor);
+
#ifdef __cplusplus
}
Index: src/external/mit/xorg/lib/libxcb/files/record.h
diff -u src/external/mit/xorg/lib/libxcb/files/record.h:1.4 src/external/mit/xorg/lib/libxcb/files/record.h:1.5
--- src/external/mit/xorg/lib/libxcb/files/record.h:1.4 Sun Mar 5 09:27:53 2017
+++ src/external/mit/xorg/lib/libxcb/files/record.h Tue Jul 12 02:44:09 2022
@@ -171,6 +171,8 @@ typedef struct xcb_record_bad_context_er
uint8_t error_code;
uint16_t sequence;
uint32_t invalid_record;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_record_bad_context_error_t;
/**
Index: src/external/mit/xorg/lib/libxcb/files/randr.h
diff -u src/external/mit/xorg/lib/libxcb/files/randr.h:1.6 src/external/mit/xorg/lib/libxcb/files/randr.h:1.7
--- src/external/mit/xorg/lib/libxcb/files/randr.h:1.6 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/randr.h Tue Jul 12 02:44:09 2022
@@ -90,6 +90,9 @@ typedef struct xcb_randr_bad_output_erro
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_randr_bad_output_error_t;
/** Opcode for xcb_randr_bad_crtc. */
@@ -102,6 +105,9 @@ typedef struct xcb_randr_bad_crtc_error_
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_randr_bad_crtc_error_t;
/** Opcode for xcb_randr_bad_mode. */
@@ -114,6 +120,9 @@ typedef struct xcb_randr_bad_mode_error_
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_randr_bad_mode_error_t;
/** Opcode for xcb_randr_bad_provider. */
@@ -126,6 +135,9 @@ typedef struct xcb_randr_bad_provider_er
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_randr_bad_provider_error_t;
typedef enum xcb_randr_rotation_t {
@@ -4480,9 +4492,10 @@ xcb_randr_create_lease_reply (xcb_connec
* @param c The connection
* @param reply The reply
*
- * Returns the array of reply fds of the request asked by
+ * Returns a pointer to the array of reply fds of the reply.
*
- * The returned value must be freed by the caller using free().
+ * The returned value points into the reply and must not be free().
+ * The fds are not managed by xcb. You must close() them before freeing the reply.
*/
int *
xcb_randr_create_lease_reply_fds (xcb_connection_t *c /**< */,
Index: src/external/mit/xorg/lib/libxcb/files/xinput.c
diff -u src/external/mit/xorg/lib/libxcb/files/xinput.c:1.6 src/external/mit/xorg/lib/libxcb/files/xinput.c:1.7
--- src/external/mit/xorg/lib/libxcb/files/xinput.c:1.6 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/xinput.c Tue Jul 12 02:44:09 2022
@@ -10059,6 +10059,24 @@ xcb_input_touch_class_end (xcb_input_tou
}
void
+xcb_input_gesture_class_next (xcb_input_gesture_class_iterator_t *i)
+{
+ --i->rem;
+ ++i->data;
+ i->index += sizeof(xcb_input_gesture_class_t);
+}
+
+xcb_generic_iterator_t
+xcb_input_gesture_class_end (xcb_input_gesture_class_iterator_t i)
+{
+ xcb_generic_iterator_t ret;
+ ret.data = i.data + i.rem;
+ ret.index = i.index + ((char *) ret.data - (char *) i.data);
+ ret.rem = 0;
+ return ret;
+}
+
+void
xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t *i)
{
--i->rem;
@@ -10160,7 +10178,7 @@ xcb_input_device_class_data_serialize (v
unsigned int xcb_pad = 0;
char xcb_pad0[3] = {0, 0, 0};
- struct iovec xcb_parts[24];
+ struct iovec xcb_parts[26];
unsigned int xcb_parts_idx = 0;
unsigned int xcb_block_len = 0;
unsigned int i;
@@ -10329,6 +10347,20 @@ xcb_input_device_class_data_serialize (v
xcb_parts_idx++;
xcb_align_to = ALIGNOF(uint8_t);
}
+ if(type == XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE) {
+ /* xcb_input_device_class_data_t.gesture.num_touches */
+ xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->gesture.num_touches;
+ xcb_block_len += sizeof(uint8_t);
+ xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
+ xcb_parts_idx++;
+ xcb_align_to = ALIGNOF(uint8_t);
+ /* xcb_input_device_class_data_t.gesture.pad2 */
+ xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
+ xcb_block_len += sizeof(uint8_t);
+ xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
+ xcb_parts_idx++;
+ xcb_align_to = ALIGNOF(uint8_t);
+ }
/* insert padding */
xcb_pad = -(xcb_block_len + xcb_padding_offset) & (xcb_align_to - 1);
xcb_buffer_len += xcb_block_len + xcb_pad;
@@ -10511,6 +10543,18 @@ xcb_input_device_class_data_unpack (cons
xcb_tmp += sizeof(uint8_t);
xcb_align_to = ALIGNOF(uint8_t);
}
+ if(type == XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE) {
+ /* xcb_input_device_class_data_t.gesture.num_touches */
+ _aux->gesture.num_touches = *(uint8_t *)xcb_tmp;
+ xcb_block_len += sizeof(uint8_t);
+ xcb_tmp += sizeof(uint8_t);
+ xcb_align_to = ALIGNOF(uint8_t);
+ /* xcb_input_device_class_data_t.gesture.pad2 */
+ _aux->gesture.pad2 = *(uint8_t *)xcb_tmp;
+ xcb_block_len += sizeof(uint8_t);
+ xcb_tmp += sizeof(uint8_t);
+ xcb_align_to = ALIGNOF(uint8_t);
+ }
/* insert padding */
xcb_pad = -(xcb_block_len + xcb_padding_offset) & (xcb_align_to - 1);
xcb_buffer_len += xcb_block_len + xcb_pad;
@@ -10535,32 +10579,8 @@ xcb_input_device_class_data_sizeof (cons
int
xcb_input_device_class_sizeof (const void *_buffer)
{
- char *xcb_tmp = (char *)_buffer;
const xcb_input_device_class_t *_aux = (xcb_input_device_class_t *)_buffer;
- unsigned int xcb_buffer_len = 0;
- unsigned int xcb_block_len = 0;
- unsigned int xcb_pad = 0;
- unsigned int xcb_align_to = 0;
-
-
- xcb_block_len += sizeof(xcb_input_device_class_t);
- xcb_tmp += xcb_block_len;
- xcb_buffer_len += xcb_block_len;
- xcb_block_len = 0;
- /* data */
- xcb_block_len += xcb_input_device_class_data_sizeof(xcb_tmp, _aux->type);
- xcb_tmp += xcb_block_len;
- xcb_align_to = ALIGNOF(char);
- /* insert padding */
- xcb_pad = -xcb_block_len & (xcb_align_to - 1);
- xcb_buffer_len += xcb_block_len + xcb_pad;
- if (0 != xcb_pad) {
- xcb_tmp += xcb_pad;
- xcb_pad = 0;
- }
- xcb_block_len = 0;
-
- return xcb_buffer_len;
+ return (_aux->len * 4);
}
void *
Index: src/external/mit/xorg/lib/libxcb/files/xinput.h
diff -u src/external/mit/xorg/lib/libxcb/files/xinput.h:1.6 src/external/mit/xorg/lib/libxcb/files/xinput.h:1.7
--- src/external/mit/xorg/lib/libxcb/files/xinput.h:1.6 Wed Mar 14 06:47:28 2018
+++ src/external/mit/xorg/lib/libxcb/files/xinput.h Tue Jul 12 02:44:09 2022
@@ -20,7 +20,7 @@ extern "C" {
#endif
#define XCB_INPUT_MAJOR_VERSION 2
-#define XCB_INPUT_MINOR_VERSION 3
+#define XCB_INPUT_MINOR_VERSION 4
extern xcb_extension_t xcb_input_id;
@@ -2671,7 +2671,8 @@ typedef enum xcb_input_device_class_type
XCB_INPUT_DEVICE_CLASS_TYPE_BUTTON = 1,
XCB_INPUT_DEVICE_CLASS_TYPE_VALUATOR = 2,
XCB_INPUT_DEVICE_CLASS_TYPE_SCROLL = 3,
- XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8
+ XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8,
+ XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE = 9
} xcb_input_device_class_type_t;
typedef enum xcb_input_device_type_t {
@@ -2779,6 +2780,26 @@ typedef struct xcb_input_touch_class_ite
} xcb_input_touch_class_iterator_t;
/**
+ * @brief xcb_input_gesture_class_t
+ **/
+typedef struct xcb_input_gesture_class_t {
+ uint16_t type;
+ uint16_t len;
+ xcb_input_device_id_t sourceid;
+ uint8_t num_touches;
+ uint8_t pad0;
+} xcb_input_gesture_class_t;
+
+/**
+ * @brief xcb_input_gesture_class_iterator_t
+ **/
+typedef struct xcb_input_gesture_class_iterator_t {
+ xcb_input_gesture_class_t *data;
+ int rem;
+ int index;
+} xcb_input_gesture_class_iterator_t;
+
+/**
* @brief xcb_input_valuator_class_t
**/
typedef struct xcb_input_valuator_class_t {
@@ -2838,6 +2859,10 @@ typedef struct xcb_input_device_class_da
uint8_t mode;
uint8_t num_touches;
} touch;
+ struct {
+ uint8_t num_touches;
+ uint8_t pad2;
+ } gesture;
} xcb_input_device_class_data_t;
/**
@@ -3065,7 +3090,9 @@ typedef enum xcb_input_grab_type_t {
XCB_INPUT_GRAB_TYPE_KEYCODE = 1,
XCB_INPUT_GRAB_TYPE_ENTER = 2,
XCB_INPUT_GRAB_TYPE_FOCUS_IN = 3,
- XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4
+ XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4,
+ XCB_INPUT_GRAB_TYPE_GESTURE_PINCH_BEGIN = 5,
+ XCB_INPUT_GRAB_TYPE_GESTURE_SWIPE_BEGIN = 6
} xcb_input_grab_type_t;
typedef enum xcb_input_modifier_mask_t {
@@ -4033,6 +4060,104 @@ typedef struct xcb_input_barrier_hit_eve
typedef xcb_input_barrier_hit_event_t xcb_input_barrier_leave_event_t;
+typedef enum xcb_input_gesture_pinch_event_flags_t {
+ XCB_INPUT_GESTURE_PINCH_EVENT_FLAGS_GESTURE_PINCH_CANCELLED = 1
+} xcb_input_gesture_pinch_event_flags_t;
+
+/** Opcode for xcb_input_gesture_pinch_begin. */
+#define XCB_INPUT_GESTURE_PINCH_BEGIN 27
+
+/**
+ * @brief xcb_input_gesture_pinch_begin_event_t
+ **/
+typedef struct xcb_input_gesture_pinch_begin_event_t {
+ uint8_t response_type;
+ uint8_t extension;
+ uint16_t sequence;
+ uint32_t length;
+ uint16_t event_type;
+ xcb_input_device_id_t deviceid;
+ xcb_timestamp_t time;
+ uint32_t detail;
+ xcb_window_t root;
+ xcb_window_t event;
+ xcb_window_t child;
+ uint32_t full_sequence;
+ xcb_input_fp1616_t root_x;
+ xcb_input_fp1616_t root_y;
+ xcb_input_fp1616_t event_x;
+ xcb_input_fp1616_t event_y;
+ xcb_input_fp1616_t delta_x;
+ xcb_input_fp1616_t delta_y;
+ xcb_input_fp1616_t delta_unaccel_x;
+ xcb_input_fp1616_t delta_unaccel_y;
+ xcb_input_fp1616_t scale;
+ xcb_input_fp1616_t delta_angle;
+ xcb_input_device_id_t sourceid;
+ uint8_t pad0[2];
+ xcb_input_modifier_info_t mods;
+ xcb_input_group_info_t group;
+ uint32_t flags;
+} xcb_input_gesture_pinch_begin_event_t;
+
+/** Opcode for xcb_input_gesture_pinch_update. */
+#define XCB_INPUT_GESTURE_PINCH_UPDATE 28
+
+typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_update_event_t;
+
+/** Opcode for xcb_input_gesture_pinch_end. */
+#define XCB_INPUT_GESTURE_PINCH_END 29
+
+typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_end_event_t;
+
+typedef enum xcb_input_gesture_swipe_event_flags_t {
+ XCB_INPUT_GESTURE_SWIPE_EVENT_FLAGS_GESTURE_SWIPE_CANCELLED = 1
+} xcb_input_gesture_swipe_event_flags_t;
+
+/** Opcode for xcb_input_gesture_swipe_begin. */
+#define XCB_INPUT_GESTURE_SWIPE_BEGIN 30
+
+/**
+ * @brief xcb_input_gesture_swipe_begin_event_t
+ **/
+typedef struct xcb_input_gesture_swipe_begin_event_t {
+ uint8_t response_type;
+ uint8_t extension;
+ uint16_t sequence;
+ uint32_t length;
+ uint16_t event_type;
+ xcb_input_device_id_t deviceid;
+ xcb_timestamp_t time;
+ uint32_t detail;
+ xcb_window_t root;
+ xcb_window_t event;
+ xcb_window_t child;
+ uint32_t full_sequence;
+ xcb_input_fp1616_t root_x;
+ xcb_input_fp1616_t root_y;
+ xcb_input_fp1616_t event_x;
+ xcb_input_fp1616_t event_y;
+ xcb_input_fp1616_t delta_x;
+ xcb_input_fp1616_t delta_y;
+ xcb_input_fp1616_t delta_unaccel_x;
+ xcb_input_fp1616_t delta_unaccel_y;
+ xcb_input_device_id_t sourceid;
+ uint8_t pad0[2];
+ xcb_input_modifier_info_t mods;
+ xcb_input_group_info_t group;
+ uint32_t flags;
+} xcb_input_gesture_swipe_begin_event_t;
+
+/** Opcode for xcb_input_gesture_swipe_update. */
+#define XCB_INPUT_GESTURE_SWIPE_UPDATE 31
+
+typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_update_event_t;
+
+/** Opcode for xcb_input_gesture_swipe_end. */
+#define XCB_INPUT_GESTURE_SWIPE_END 32
+
+typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_end_event_t;
+
/**
* @brief xcb_input_event_for_send_t
**/
@@ -4093,6 +4218,9 @@ typedef struct xcb_input_device_error_t
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_input_device_error_t;
/** Opcode for xcb_input_event. */
@@ -4105,6 +4233,9 @@ typedef struct xcb_input_event_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_input_event_error_t;
/** Opcode for xcb_input_mode. */
@@ -4117,6 +4248,9 @@ typedef struct xcb_input_mode_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_input_mode_error_t;
/** Opcode for xcb_input_device_busy. */
@@ -4129,6 +4263,9 @@ typedef struct xcb_input_device_busy_err
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_input_device_busy_error_t;
/** Opcode for xcb_input_class. */
@@ -4141,6 +4278,9 @@ typedef struct xcb_input_class_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
+ uint32_t bad_value;
+ uint16_t minor_opcode;
+ uint8_t major_opcode;
} xcb_input_class_error_t;
/**
@@ -8197,6 +8337,29 @@ xcb_input_touch_class_end (xcb_input_tou
/**
* Get the next element of the iterator
+ * @param i Pointer to a xcb_input_gesture_class_iterator_t
+ *
+ * Get the next element in the iterator. The member rem is
+ * decreased by one. The member data points to the next
+ * element. The member index is increased by sizeof(xcb_input_gesture_class_t)
+ */
+void
+xcb_input_gesture_class_next (xcb_input_gesture_class_iterator_t *i);
+
+/**
+ * Return the iterator pointing to the last element
+ * @param i An xcb_input_gesture_class_iterator_t
+ * @return The iterator pointing to the last element
+ *
+ * Set the current element in the iterator to the last element.
+ * The member rem is set to 0. The member data points to the
+ * last element.
+ */
+xcb_generic_iterator_t
+xcb_input_gesture_class_end (xcb_input_gesture_class_iterator_t i);
+
+/**
+ * Get the next element of the iterator
* @param i Pointer to a xcb_input_valuator_class_iterator_t
*
* Get the next element in the iterator. The member rem is