summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Modify copyright format in qt_attribution.jsonLucie Gérard2023-10-231-1/+3
| | | | | | | | | Multiline copyright entries are entered via string array. Task-number: QTBUG-111873 Pick-to: 6.5 6.6 Change-Id: Ib8203163db8d5d579117f402b7a89b59ae1a5169 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* 3rdparty: Add touchpad gestures support to bundled xinput xcb modulePovilas Kanapickas2021-11-135-8/+505
| | | | | | | | | | This feature can easily be backported to our bundled version of libxcb because the feature is pretty much self-contained (just a couple of new events and parsing support) and does not depend on newer features of libxcb that have appeared since our bundled version of 1.13. Change-Id: If965e3de8b898286cd61c7fddbf335894f3a3ff5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* 3rdparty: Fix forwards-compatibility bug in bundled xinput xcb modulePovilas Kanapickas2021-09-203-25/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | libxcb thinks that it knows about all device class types sent by the X server XInput extension. With the addition of touchpad gestures in XInput 2.4 and X server 21.1 this is no longer the case and libxcb fails horribly by thinking that the protocol was malformed. The X server currently has a workaround, but it would not address the following situation: - there are multiple modules within the same X client (e.g. part of the application uses Qt, another part talks to X server via another library) - both of the modules talk to XI - at least one module requests for XI 2.4 protocol support. The request for XI 2.4 disables the workaround on the X server and Qt side would crash horribly. This bug is being fixed upstream in these MRs: https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/23 https://gitlab.freedesktop.org/xorg/lib/libxcb/-/merge_requests/20 Change-Id: Idf345271340031152b512ef59f619313be5ec226 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix copyright information for src/3rdparty/xcbKai Koehne2020-10-251-1/+1
| | | | | | | | | | | The new copyright lines are taken from xcb-proto-1.13/COPYING, and xcb-proto-1.13/src/xinput.xml. [ChangeLog][Third-Party] Fixed copyright information for "XCB-XInput". Pick-to: 5.15 Change-Id: I8afa4dab39765b85a015524fe16b085dcfe5a864 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* 3rdparty: remove xcb libs and bump minimal required version to 1.11Gatis Paeglis2019-08-2744-70298/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With libxcb 1.11 as minimal required version we can: (a) (Maybe) Enable threaded GL for MESA, see QTBUG-67277. (b) Avoid performance issues described in QTBUG-46017. Bundled xcb libs don't contain the more modern SHM fd passing APIs. The official binaries use "-qt-xcb", therefore we were shipping with the performance fix #ifdef-ed out. (c) Make xcb-xkb a mandatory dependency avoiding issues described in QTBUG-30911. Issues that appear when Qt was configure with "-no-xkb -xcb-xlib", but X server has the XKB extension. (d) Drop all, but xcb-xinput sources from src/3rdparty/xcb/, for which we need "xcb-xinput >= 1.12". This way we can reduce maintenance work. The xcb libraries were origianlly bundled because of lack of availability on supported distributions. This is not the case anymore: CI for Qt 5.13 has: Ubuntu 18.04 - libxcb 1.13 RHEL 7.4 - libxcb 1.13 openSUSE 15.0 - libxcb 1.13 CI for Qt 5.12 has: Ubuntu 16.04 - libxcb 1.11 RHEL 7.4 - libxcb 1.13 openSUSE 42.3 - libxcb 1.11 RHEL 6.x - not relevant because it was dropped from supported platforms. Why 1.11 (released on Aug, 2014), but not 1.13 (released on March 2018)? Based on what we have in CI for 5.13 and 5.14 we could update to 1.13, but it means that Qt would require a very recent version of 3rd party dependency. [ChangeLog][Configure][X11] The minimal required version of libxcb now is 1.11. [ChangeLog][Third-Party Code][X11] Removed all bundled XCB libs, with the exception of xcb-xinput, which is not available on systems with libxcb 1.11. [ChangeLog][Configure][X11] Removed -qt-xcb, -system-xcb, -xkb, -xcb-xinput switches. [ChangeLog][Platform Specific Changes][X11] XKB and XInput2 now are mandatory dependencies for XCB plugin. XCB-XKB is a part of libxcb 1.11 releases. XCB-XInput is not part of libxcb 1.11 releases, but Qt builders can use -bundled-xcb-xinput switch. Fixes: QTBUG-73862 Fixes: QTBUG-73888 Task-number: QTBUG-67277 Task-number: QTBUG-30939 Change-Id: I4c2bd2a0e667220d32fd1fbfa1419c844f17fcce Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: properly atomize render vs. renderutilGatis Paeglis2019-01-033-15/+27
| | | | | | | | | | | | | | | | | | xcb-render is a C interface for X11 extension. xcb-render-util is a utility library that complements xcb-render by providing convenience functions and interfaces which make the raw X protocol more usable. Bumped xcb-render-util version to avoid having include hacks. We were bundling 8 years old release 0.3.8 (Apr, 2011). 0.3.9 is the latest release and it was relesed 4,5 years ago (Jun, 2014). All CI machines have 0.3.9. The only thing that have changed in xcb-render-util sources since 2011 is that we don't need to have various hacks to include xcb_renderutil.h in C++ files. Upgrading bundled XCB libs was also requested in QTBUG-71109. Task-number: QTBUG-71109 Change-Id: Ib261f7584ad81be95660123b007e2200a3042f4c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Update READMEs for the bundled xcb sources and the xcb pluginAlexander Volkov2018-03-231-1/+2
| | | | | | | | | | | | Mention that the current minimal supported version of libxcb is 1.9.1, amend 1f5d791708d5d256a76872f254251dac66e82cdb. Remove the specific package requirements for the xcb plugin: these lists are unmaintained and besides there are build instructions in wiki: https://wiki.qt.io/Building_Qt_5_from_Git Change-Id: I4d5b0583a1ba8a355ee1649022845f6c8d520e7c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Add xcb-xinput to 3rd party libsAlexander Volkov2018-03-203-0/+23464
| | | | | | | | | | | | | | | | The added xcb-xinput code was produced by build of libxcb 1.13 with xcb-proto 1.13. The following parts were removed from it: - Pointer Barriers API (requires xcb-xfixes 1.9 with xcb-proto 1.9) - SendExtensionEvent API (requires definition of xcb_raw_generic_event_t from libxcb 1.13) [ChangeLog][Third-Party Code] Sources of xcb-xinput 1.13 were bundled and are available via -qt-xcb. Change-Id: I43d2f43bee0ba874d099c9fb858e74b0e3edc970 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Bump up the required libxcb version to 1.9Alexander Volkov2018-03-2017-710/+4105
| | | | | | | | | | | | | | | | | | | | ...and update bundled xcb sources to libxcb 1.9.1 with xcb-proto 1.8. These are the minimal versions of libxcb and xcb-proto available on officially supported platforms (they are present on RHEL 6.6). Remove support_libxcb_versions_where_xcb_sumof_not_available.patch and revert it for xkb.c, because libxcb 1.9 implements xcb_sumof(). This change makes it easier to bundle xcb libs from newer versions of libxcb (e.g. xcb-xinput). [ChangeLog][Third-Party Code][X11] The minimal required version of libxcb is now 1.9. Bundled xcb sources were updated to libxcb 1.9.1 built with xcb-proto 1.8. Change-Id: Iebcd05656c4a5ed5dd95e898d497acef857423f0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Add qt_attribution.json filesKai Koehne2016-08-122-0/+47
| | | | | | | | | | | | | | The format is documented in http://wiki.qt.io/Qt_attribution.json Also add a LICENSE file in case there is none yet (usually copied from the source headers). Task-number: QTBUG-55139 Change-Id: Ib54c73d0bb9946cfd8579e86c6858035184ca516 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* xcb: Add Xinerama 3rd party source code for static buildBłażej Szczygieł2015-12-223-1/+1464
| | | | | Change-Id: I421d0bcf3fd6362ad6e95db5cfcdefd1a9ec096f Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* Update bundled libxcb-xkb version to 1.10Gatis Paeglis2014-03-065-10721/+1984
| | | | | | | | To utilize the new xkb_x11_* API from libxkbcommon 0.4.0, we need to update the bundled libxcb-xkb version to 1.10, which is the minimal required version. Change-Id: I0b72a2684bd11cbe5ae65d6dab7292be3a76464c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix xkb.h compile warning on 32 bit systemsGatis Paeglis2013-11-212-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | The message: ../../../3rdparty/xcb/include/xcb/xkb.h:118:5: error: this decimal constant is unsigned only in ISO C90 [-Werror] From the C89 standard: "The type of an integer constant is the first of the corresponding list in which its value can be represented. Unsuffixed decimal: int, long int, unsigned long int;" In the later standards "unsigned long int" is removed from the "Unsuffixed decimal" list. If integer constant is suffixed by the letter u or U, then the list is: unsigned int, unsigned long int, .. "unsigned long int" is sufficient on 32 bit systems to store the values of XCB_XKB_CONTROL_PER_KEY_REPEAT and XCB_XKB_CONTROL_CONTROLS_ENABLED Task-number: QTBUG-34142 Change-Id: Ic23781fcd00d4901ec9bb5a85068f4315c14bfb8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add xcb-xkb to 3rd party libsGatis Paeglis2013-05-074-0/+37065
| | | | | | | | | | | | | | | | | | 1) -qt-xcb a) Use xkb from the 3rd party libs. As it is done for the other xcb dependencies when qt configure with -qt-xcb. 2) -system-xcb (default) a) If xkb found then use xkb from the system. (Currenly xkb is not enabled by default when configuring libxcb library). b) If xkb can't be found on the system then keyboard state will be updated from X11 core events. Change-Id: I7c3dbce6daa2cec52067cd5af80f19040233a0db Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add configure option to minimize xcb runtime dependenciesKai Koehne2012-11-0734-0/+37063
Some of the xcb- libraries we depend upon are not (yet) common across distributions. This is problematic for binaries that should be working on different distributions. The patch mitigates this by: Adding the files from libxcb-proto (version 0.1.6), compiled with libxcb-1.5 xcb-util (version 0.3.9) xcb-util-image (version 0.3.9) xcb-util-keysyms (version 0.3.9) xcb-util-renderutil (version 0.3.8) xcb-util-wm (version 0.3.9) from xcb.freedesktop.org/dist to src/3rdparty/xcb. Adding a configure option '-qt-xcb' to use the sources instead of linking to the respective runtime libraries. Task-number: QTBUG-27803 Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>