Hello community, here is the log from the commit of package libqt5-qtbase for openSUSE:Factory checked in at 2013-11-29 07:02:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt5-qtbase (Old) and /work/SRC/openSUSE:Factory/.libqt5-qtbase.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtbase" Changes: -------- --- /work/SRC/openSUSE:Factory/libqt5-qtbase/libqt5-qtbase.changes 2013-11-13 13:50:13.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libqt5-qtbase.new/libqt5-qtbase.changes 2013-11-29 07:02:55.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Nov 27 00:18:38 UTC 2013 - [email protected] + +- Added xcb_193.patch from upstream, for resolving SiC and BiC change + in xcb 1.9.2/3 (fdo#71502,fdo#71507,qtbug#34748) + +------------------------------------------------------------------- New: ---- xcb_193.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt5-qtbase.spec ++++++ --- /var/tmp/diff_new_pack.4B49qZ/_old 2013-11-29 07:02:56.000000000 +0100 +++ /var/tmp/diff_new_pack.4B49qZ/_new 2013-11-29 07:02:56.000000000 +0100 @@ -75,6 +75,8 @@ Patch109: libqt5-libtool-nodate.diff # PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path Patch131: qmake-add-usr-include.diff +# PATCH-FIX-UPSTREAM xcb_193.patch -- For the 'oh, shit' xcb release (fdo#71502,fdo#71507,qtbug#34748) +Patch132: xcb_193.patch BuildRequires: clucene-core-devel BuildRequires: gstreamer-0_10-plugins-base-devel BuildRequires: libicu-devel @@ -112,6 +114,7 @@ %patch4 -p1 %patch109 -p1 %patch131 -p1 +%patch132 -p1 # be sure not to use them rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib} ++++++ xcb_193.patch ++++++ From: Gatis Paeglis <[email protected]> Date: Tue, 19 Nov 2013 14:07:25 +0000 Subject: Workaround source compatibility issue introduced by xcb 1.9.3 X-Git-Url: http://quickgit.kde.org/?p=qt%2Fqtbase.git&a=commitdiff&h=486889523c8fe15277e3148904509789a19d25fe --- Workaround source compatibility issue introduced by xcb 1.9.3 Previous version of the struct: typedef struct { uint8_t response_type; /**< Type of the response */ uint8_t pad0; /**< Padding */ uint16_t sequence; /**< Sequence number */ uint32_t length; uint16_t event_type; uint16_t pad1; uint32_t pad[5]; /**< Padding */ uint32_t full_sequence; /**< full sequence */ } xcb_ge_event_t; New version of it: typedef struct xcb_ge_event_t { uint8_t response_type; /**< */ uint8_t extension; /**< */ uint16_t sequence; /**< */ uint32_t length; /**< */ uint16_t event_type; /**< */ uint8_t pad0[22]; /**< */ uint32_t full_sequence; /**< */ } xcb_ge_event_t; Changes are: - "pad0" became "extension" - "pad1" and "pad" became "pad0" More details in https://bugs.freedesktop.org/show_bug.cgi?id=71502 Task-number: QTBUG-34748 Change-Id: Ibd801c11510f75fa82d5c14346b95236142487ac Reviewed-by: Uli Schlachter <[email protected]> Reviewed-by: Lars Knoll <[email protected]> --- --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -1749,10 +1749,26 @@ return true; } -bool QXcbConnection::xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *event, int opCode) -{ - // xGenericEvent has "extension" on the second byte, xcb_ge_event_t has "pad0". - if (event->pad0 == opCode) { +// Starting from the xcb version 1.9.3 struct xcb_ge_event_t has changed: +// - "pad0" became "extension" +// - "pad1" and "pad" became "pad0" +// New and old version of this struct share the following fields: +// NOTE: API might change again in the next release of xcb in which case this comment will +// need to be updated to reflect the reality. +typedef struct qt_xcb_ge_event_t { + uint8_t response_type; + uint8_t extension; + uint16_t sequence; + uint32_t length; + uint16_t event_type; +} qt_xcb_ge_event_t; + +bool QXcbConnection::xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *ev, int opCode) +{ + qt_xcb_ge_event_t *event = (qt_xcb_ge_event_t *)ev; + // xGenericEvent has "extension" on the second byte, the same is true for xcb_ge_event_t starting from + // the xcb version 1.9.3, prior to that it was called "pad0". + if (event->extension == opCode) { // xcb event structs contain stuff that wasn't on the wire, the full_sequence field // adds an extra 4 bytes and generic events cookie data is on the wire right after the standard 32 bytes. // Move this data back to have the same layout in memory as it was on the wire -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
