From e9d6b4f7bf15665552dd08390abbab6d54a75625 Mon Sep 17 00:00:00 2001 From: matthieu Date: Sat, 5 Sep 2009 15:54:43 +0000 Subject: [PATCH] Update to libxcb 1.4. tested by naddy@ on a packages bulk build. --- dist/libxcb/NEWS | 6 ++++++ dist/libxcb/configure.ac | 2 +- dist/libxcb/src/Makefile.am | 2 +- dist/libxcb/src/xcb.h | 6 +++++- dist/libxcb/src/xcb_out.c | 2 +- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/dist/libxcb/NEWS b/dist/libxcb/NEWS index f1e1e78db..af173eb28 100644 --- a/dist/libxcb/NEWS +++ b/dist/libxcb/NEWS @@ -1,3 +1,9 @@ +Release 1.4 (2009-07-15) +======================== +* Add majorCode, minorCode and resourceID fields to X generic error +* Fix precedence bug: wrong length for big-requests preceded by sync +* Fix libxcb-randr version info + Release 1.3 (2009-05-29) ======================== * Copy full IPv4 mapping (Bug #20665) diff --git a/dist/libxcb/configure.ac b/dist/libxcb/configure.ac index 95fa351dd..96f507903 100644 --- a/dist/libxcb/configure.ac +++ b/dist/libxcb/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([libxcb], - 1.3, + 1.4, [xcb@lists.freedesktop.org]) AC_CONFIG_SRCDIR([xcb.pc.in]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) diff --git a/dist/libxcb/src/Makefile.am b/dist/libxcb/src/Makefile.am index e13092a46..5de3b09f3 100644 --- a/dist/libxcb/src/Makefile.am +++ b/dist/libxcb/src/Makefile.am @@ -75,7 +75,7 @@ EXTSOURCES += randr.c EXTENSION_XML += randr.xml if BUILD_RANDR lib_LTLIBRARIES += libxcb-randr.la -libxcb_randr_la_LDFLAGS = -version-info 1:0:0 +libxcb_randr_la_LDFLAGS = -version-info 1:0:1 libxcb_randr_la_LIBADD = $(XCB_LIBS) nodist_libxcb_randr_la_SOURCES = randr.c randr.h endif diff --git a/dist/libxcb/src/xcb.h b/dist/libxcb/src/xcb.h index d24ef9576..f95127665 100644 --- a/dist/libxcb/src/xcb.h +++ b/dist/libxcb/src/xcb.h @@ -141,7 +141,11 @@ typedef struct { uint8_t response_type; /**< Type of the response */ uint8_t error_code; /**< Error code */ uint16_t sequence; /**< Sequence number */ - uint32_t pad[7]; /**< Padding */ + uint32_t resource_id; /** < Resource ID for requests with side effects only */ + uint16_t minor_code; /** < Minor opcode of the failed request */ + uint8_t major_code; /** < Major opcode of the failed request */ + uint8_t pad0; + uint32_t pad[5]; /**< Padding */ uint32_t full_sequence; /**< full sequence */ } xcb_generic_error_t; diff --git a/dist/libxcb/src/xcb_out.c b/dist/libxcb/src/xcb_out.c index 4c6ab133b..b3050fe3d 100644 --- a/dist/libxcb/src/xcb_out.c +++ b/dist/libxcb/src/xcb_out.c @@ -242,7 +242,7 @@ unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vect vector[1].iov_base = (uint32_t *) vector[1].iov_base + 1; vector[1].iov_len -= sizeof(uint32_t); } - vector[0].iov_len = sizeof(uint32_t) * (prefix[0] ? 1 : 0 | prefix[2] ? 2 : 0); + vector[0].iov_len = sizeof(uint32_t) * ((prefix[0] ? 1 : 0) + (prefix[2] ? 2 : 0)); vector[0].iov_base = prefix + !prefix[0]; }