forked from pool/libqt5-qtbase
Accepting request 208614 from KDE:Qt5
Added xcb_193.patch from upstream, for resolving SiC and BiC change in xcb 1.9.2/3 (fdo#71502,fdo#71507,qtbug#34748) (Ok, the BiC change still dictates that qtbase will need to rebuild against xcb 1.9.3 =) OBS-URL: https://build.opensuse.org/request/show/208614 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=8
This commit is contained in:
parent
a8767c5df7
commit
df75094d64
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 27 00:18:38 UTC 2013 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
- Added xcb_193.patch from upstream, for resolving SiC and BiC change
|
||||||
|
in xcb 1.9.2/3 (fdo#71502,fdo#71507,qtbug#34748)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Nov 6 19:08:13 UTC 2013 - hrvoje.senjan@gmail.com
|
Wed Nov 6 19:08:13 UTC 2013 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
@ -75,6 +75,8 @@ Patch4: qtbase-opensource-src-5.1.1-bigendian.patch
|
|||||||
Patch109: libqt5-libtool-nodate.diff
|
Patch109: libqt5-libtool-nodate.diff
|
||||||
# PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path
|
# PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path
|
||||||
Patch131: qmake-add-usr-include.diff
|
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: clucene-core-devel
|
||||||
BuildRequires: gstreamer-0_10-plugins-base-devel
|
BuildRequires: gstreamer-0_10-plugins-base-devel
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
@ -112,6 +114,7 @@ handling.
|
|||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch109 -p1
|
%patch109 -p1
|
||||||
%patch131 -p1
|
%patch131 -p1
|
||||||
|
%patch132 -p1
|
||||||
|
|
||||||
# be sure not to use them
|
# be sure not to use them
|
||||||
rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib}
|
rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib}
|
||||||
|
78
xcb_193.patch
Normal file
78
xcb_193.patch
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
From: Gatis Paeglis <gatis.paeglis@digia.com>
|
||||||
|
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 <psychon@znc.in>
|
||||||
|
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
--- 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
|
Loading…
Reference in New Issue
Block a user