summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbconnection.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-241-0/+1
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: I4ca87d44129fa5c1d8541cd58b8d62bc69080688
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-01-241-0/+1
| |\ | | | | | | | | | Change-Id: Idcaa9b0c63aca5ba11ee3fa2da456178655a1ae3
| | * Fixed copy text bug as well as potential other latent xcb plugin bugs.Samuel Rødal2013-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Gatis found out the copy text bug is caused by the xcb plugin's handleEnterNotifyEvent() receiving an event with a seemingly random "time" member. That is however not due to a bug in the X server but rather due to a missing break statement in the event dispatching in qxcbconnection.cpp, causing an xcb_client_message_event_t to be treated as an xcb_enter_notify_event_t, and thus an xcb_window_t to be treated as an xcb_timestamp_t. The other xcb_enter_notify_event_t values would of course also be complete garbage. Task-number: QTCREATORBUG-8476 Task-number: QTBUG-28398 Change-Id: Id8c09a6682f78b646a0d1d27b0650248bbfa1046 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | Fix focus handling of native child widgets in xcb.Gunnar Sletta2013-01-241-1/+7
|/ / | | | | | | | | Change-Id: If4d596195624011142bff6853849a23064e478df Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* / Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
|/ | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* XCB: add support for getting and setting appTime and appUserTime.David Faure2012-12-141-0/+1
| | | | | | | | | | | | The QX11Info class needs this. This required adding the missing nativeResourceFunctionForScreen in QPlatformNativeInterface. Change-Id: I2c6e91c7f122f3ecdf769a177deafd2aa3896e2f Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed incorrect handling of extra mouse buttons in XCB platform plugin.Samuel Rødal2012-12-141-0/+70
| | | | | | | | | | | | | | | | | | | | | | translateMouseButtons() was only able to correctly handle the left, right, and mid mouse buttons. Thus, if any buttons outside of those were pressed, the motion notify event would basically unset the mouse button mask, leading to a release event being sent instead. Later on, when the actual release event arrives, that button gets xor'ed into the empty button mask generating another press, and later another motion event will generate a release. In the end that means two press-release sequences are sent for any extra mouse buttons. Instead of getting the mask of the buttons currently being pressed from the event, we need to keep track of the mask ourselves. Task-number: QTBUG-28561 Change-Id: Iaa67e784a13d792deef8fc29dbd5456a5471a861 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* xcb plugin: Move the include XInput2.h statementsThomas Senyk2012-11-231-5/+5
| | | | | | | | | | If the include of egl.h does nasty things with X11-defines (this happens with the imx6 gpu-drivers) errors are avoided if the include of XInput2.h is next to the other X-includes, and not after include of egl.h Change-Id: I182d0e1fcf3fa3e6abce880d34e63cc1d2ce8ed4 Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
* Remove warnings from qtbase.Mitch Curtis2012-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | geometryengine.cpp: In member function 'void GeometryEngine::drawCubeGeometry(QGLShaderProgram*)': geometryengine.cpp:159:93: warning: cast to pointer from integer of different sie [-Wint-to-pointer-cast] geometryengine.cpp:167:95: warning: cast to pointer f rom integer ofdifferent size [-Wint-to-pointer-cast] benchmarking.cpp: In member function 'void TestBenchmark::multiple()': benchmarking.cpp:85:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] benchmarking.cpp: In member function 'void TestBenchmark::series()': benchmarking.cpp:120:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] qstandarditemmodel.cpp:2717:45: warning: unused variable 'd' [-Wunused-variable] qxcbconnection.cpp: In member function 'xcb_timestamp_t QXcbConnection::getTimestamp()': qxcbconnection.cpp:930:40: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qguiapplication.cpp: In constructor 'BlockableWindow::BlockableWindow()': tst_qguiapplication.cpp:340:9: warning:'BlockableWindow::enters' will be initialized after [-Wreorder] tst_qguia pplication.cpp:339:9: warning 'int BlockableWindow::leaves' [-Wreorder] tst_qguiapplication.cpp:342:12: waring: when initialized here [-Wreorder] tst_qsqltablemodel.cpp:570:10: warning: unused parameter 'value' [-Wunused-parameter] tst_qabstractitemview.cpp:1546:8: warning: unused parameter 'index' [-Wunused-parameter] Change-Id: I49c88547182e4669cfde2c2536403fc5573ca2da Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Added expose and configure event compression in xcb platform plugin.Samuel Rødal2012-11-141-0/+16
| | | | | | | | | We had this in 4.x to prevend swamping the event queue and causing a lot of needless processing of stale events. Task-number: QTBUG-27734 Change-Id: I020fe44885569f5a68c07220fcb44bea3e138089 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Added motion event compression in xcb plugin.Samuel Rødal2012-11-091-0/+8
| | | | | | | | | | | | | | | We did this in 4.8 too, to avoid swamping the event queue with stale motion events. If you're interested in fine grained motion events you just need to have a responsive main loop. Most applications are only interested in the latest mouse position in any case. Fixes performance issues in QML where an onMouseXChanged or onMouseYChanged in a mouse area does directly or indirectly runs some heavy computations, slowing rendering to a halt since the main loop is constantly busy. Change-Id: I169c96458db4d57b689d6c2c915765b11c35e123 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Resolve xcb_poll_for_queued_event at run-time.Samuel Rødal2012-11-071-20/+42
| | | | | | | | | By not making this a compile time decision we ensure forward compatibility for older xcb versions if the xcb plugin is built against a newer xcb. Change-Id: I744777d53bf7b8deb6eff372494f4403d19d364c Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* XCB: Handle connection errorsUli Schlachter2012-11-021-0/+7
| | | | | | | | | | | | | | | | | | | | When the XCB connection breaks, all following XCB function calls will fail and function calls that are currently in progress will return. This means that xcb_wait_for_event() will return NULL and thus the QXcbEventReader thread will exit. This patch uses the above behavior to make sure that processXcbEvents() will be called. The error handling should always be done before normal event processing, because all XCB calls will fail once the connection is in an error state. This is especially unexpected for xcb_get_setup() which suddenly returns a NULL pointer. Task-number: QTBUG-27686 Change-Id: Ie3e4058f9d92bcbfc45934a8b36d9a7254e2b4bb Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Remove DRI2/OpenGL code paths from xcb plugin.Samuel Rødal2012-10-191-108/+0
| | | | | | | | | | | These were used to test QtWayland, but there are other options available for that now. The DRI2 code hasn't been maintained and doesn't even compile at the moment, so let's just remove it to de-clutter the source. Change-Id: I7db0f4db82348497b9f4d6c2dcf2e13f3ab14a76 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Small xcb startup performance optimization.Samuel Rødal2012-10-191-1/+15
| | | | | | | | Prefetch all the extensions, to avoid having to do blocking calls later. Change-Id: I1527dbf03d76372ec88bc0d5d9f7af18a4cc2a26 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Made xcb plugin work when the GLX extension is not present.Samuel Rødal2012-10-191-0/+33
| | | | | Change-Id: I9285d7524586ff404206c088019ece33335137d9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make sure timestamp is initialized before using it for seting selection owner.Gatis Paeglis2012-10-131-0/+53
| | | | | | | | | | | | | | | | | | | | | Convention from icccm: Clients attempting to acquire a selection must set the time value of the xcb_set_selection_owner request to the timestamp of the event triggering the acquisition attempt, not to XCB_CURRENT_TIME. In some cases it happened that timestamp was set to XCB_CURRENT_TIME. A zero-length append to a property is a way to obtain a timestamp for this purpose; the timestamp is in the corresponding XCB_PROPERTY_NOTIFY event. We used to have this mechanism in 4.8, it was achieved by XWindowEvent. AFAIK there isn't an equivalent for XWindowEvent in XCB. Therefore i had to introduce a new mechanism in QXcbConnection - getTimestamp. This function blocks until it receives the requested event. Change-Id: Ide46a4fdd44cf026fdd17a79d3c4b17741d1b7d4 Task-number: QTBUG-26783 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* OpenGL: Don't request a context version higher than is supportedSean Harmer2012-10-031-1/+3
| | | | | | | | | | | | | | | The function wglCreateContextAttribsARB will fail if we request a context version higher than is supported. We therefore upper-bound the requested version by the version of the static context. This results in context creation succeeding and having the closest possible match to the requested format. The xcb qpa plugin is modified to operate similarly to the windows plugin in that it now creates a "static" context which is used to limit the versions of contexts requested by the user. Change-Id: I277ad7cc82edfdf7b9d8502ad921c8175feb1a4a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: consistently check xcb_get_extension_data for extension initsShawn Rutledge2012-09-271-4/+10
| | | | | | | | | This seems to fix the ability to run a Qt app across a forwarded X connection (e.g. ssh -X). Change-Id: I2b7a26985cf11107e69b303337a5fbb369e38c9e Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
* xcb: better error handling if no randr or screen resources query failsShawn Rutledge2012-09-261-47/+53
| | | | | | | | | | Marc Mutz already reported problems with ssh -X fowarding. Now all such errors are treated the same: if we can't get screen output attributes, just assume there is only one. Change-Id: I96802fc90072c623de3370ed2898893daf58198a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: dynamic QScreens; primary first; corrected logical DPIShawn Rutledge2012-09-241-87/+137
| | | | | | | | | | | | | | | | A new QScreen is created when an output is activated (monitor or projector is added, for example), and destroyed when the output is turned off. Ensures that screens and siblings are always in the right order: primary comes first. Logical DPI is derived from virtual geom / virtual size, which will be different than output geom / physical size if X was started with --dpi override. This is a good thing: when X gets wrong EDID info for physical size and you need to override it to get reasonable font sizes, Qt will heed the logical DPI for font sizing. Change-Id: I5e3de34013c1b6b21067243de56f3f1eb72787fa Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* X11 (xcb) support for QScreen-per-output and runtime changesShawn Rutledge2012-09-181-8/+83
| | | | | | | | | | | | | QScreen has notifiers for its properties, but they were not being emitted when one changes the resolution or arrangement of individual outputs, e.g. via xrandr. Also there should be one QScreen per "output", e.g. laptop LCD + external monitor means 2 QScreens which will be siblings, rather than just 1 QScreen to represent the whole desktop. Change-Id: Ia61bbc5e6a3506f813ab11f87c03d14cf7f4ce85 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove winEventFilter, replaced with installNativeEventFilter.David Faure2012-07-241-1/+2
| | | | | | | | | No reason to keep a virtual method for Windows when all other similar methods (macEvent and x11Event) have been removed, and when installNativeEventFilter provides a much nicer solution (no need to derive from QApplication). Change-Id: Ia2a7960e320fcbd04cef91f467900861dbb377c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Provide public API for native event filtering, moved up from QPA.David Faure2012-07-201-5/+2
| | | | | | | | | | | | | | | | | | The previous API was hard to use (global function, no type safety, manual chaining), and confusing (app vs dispatcher split only made sense on Windows). Installing and removing out of order would have the risk of setting back a dangling pointer (crash). Meanwhile QPA added type safety, and this new API models the QObject::installEventFilter API for ease of use. The virtual method is in a new interface, QAbstractNativeEventFilter. QPA was even calling the dispatcher event filter with QPA-private event classes, which made no sense (refactoring leftover from when the code was in the dispatcher). Now the QPA plugins trigger the qcoreapp event filters with the actual native events directly. Change-Id: Ie35e47c59c862383bcaf857b28d54f7c72547882 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Fix some spelling errorsSergio Ahumada2012-07-111-1/+1
| | | | | | Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Basic tablet support in xcb through XI2Laszlo Agocs2012-06-281-12/+77
| | | | | | | | | | The Maemo-specific function have been renamed a bit to prevent them clashing with the more generic stuff. Task-number: QTBUG-25865 Change-Id: Id55693159e15d5a0c679546eb48308feb48acac9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* xcb: ensure the primary screen is added firstGirish Ramakrishnan2012-06-181-3/+9
| | | | | | | | | | | | Currently, Qt windows without an explicit screen parameter always appear on screen 0 despite the DISPLAY being set to :0.1. With this change, the xcb backend adds the primary display at the beginning of the screen list. QGuiApplication::primaryScreen() will then return that display for all windows without an explicit screen. Change-Id: I657c4ed92b9e0f0ed379e91c732dad9d69c4f5e0 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Implement QXcbWindow::setWindowIconCorentin Jabot2012-06-021-0/+1
| | | | | | | Change-Id: I1908cbef0c20d3725423b559f234bd6d3ddd4167 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix xcb plugin compilation for -qconfig largeTasuku Suzuki2012-05-261-1/+21
| | | | | | Change-Id: I1ee1fb9c140396e83272d607ee4dd63ce2c50b8d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* XCB/EGL: Free display.Friedemann Kleint2012-05-251-0/+5
| | | | | | | Fix valgrind reporting resource leaks. Change-Id: I4c2038f61b63dc5b6bc0c7eca43f0f339ddf723a Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Added QScreen::refreshRate() to get the vertical refresh rate.Samuel Rødal2012-05-081-0/+39
| | | | | | | | | | | | To give applications that want it the option to use a fixed timestep for animations, and to avoid having values of 60 hard-coded (we have a couple of those in qtdeclarative/src/quick already), we need to know the refresh rates of the screens we are rendering to. Change-Id: Ife49162e830440ad7eab563a27e8aebbbafc5fc5 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* XCB: Implement native events for for windows.Friedemann Kleint2012-03-101-4/+12
| | | | | Change-Id: Iacea1231b49ebe57da96f4012d3f314e1b037105 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cleaned up debug and warning output in xcb plugin.Samuel Rødal2012-03-021-13/+12
| | | | | | | | | Got rid of unnecessary debug output, and prefixed debug / warnings with class name to provide more context. Change-Id: Ia68e85ec0207de4d87d02226bdf6e4cddf464afc Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* xcb: Check for SHAPE extension before using itUli Schlachter2012-03-021-0/+22
| | | | | | | | | | | | | This change makes sure that the X11 server really supports the SHAPE extension before it is used. Before this, libxcb would disconnect from the server as soon as it was told to send a SHAPE request to a server which doesn't support SHAPE. Oh and of course it would do so without any good error message. Change-Id: I5f9481e488925e74e62f229e9f637ef262020c04 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix QApplication autotest crash when running on multiple screensMiikka Heikkinen2012-03-021-1/+3
| | | | | | | | | | Screens need to be destroyed in reverse order to ensure the primary screen stays valid when other screens are destroyed. Task-number: QTBUG-24300 Change-Id: I9d9d710aa67ec045baa8bf292833ffe7d9eea935 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Refactor the QPA dnd interface.Friedemann Kleint2012-02-291-2/+2
| | | | | | | | | | | | | | | - Give QPlatformDrag a synchronous drag() function returning the Qt::DropAction - Move the base functionality for asynchronous event handling to the platformsupport library as QBasicDrag (extendable base class handling drag icon and providing new virtuals) and QSimpleDrag (sample implementation for drag within the Qt application). - Change the Windows implementation accordingly. - Change XCB to be based on QBasicDrag. - Clean up QDragManager. Change-Id: I654f76f0e55a385ba189bd74f3ceaded6a8fe318 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* XCB: Introduce enumeration for event filter types.Friedemann Kleint2012-01-231-1/+1
| | | | | | | | Remove QByteArray-construction and hash lookup in the event handling; use an enumeration indexing an array instead. Change-Id: I4d272b32a5ff71c8da58197cf3a0b38c1e61d489 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* xcb: Correctly check the X11 connectionUli Schlachter2012-01-231-1/+1
| | | | | | | | | | | | | Commit e08453f31ae2a195f86a763f0b1c5e617df0e1ce added a check which makes sure qt prints an error message instead of segfaulting when it can't connect to the X11 server. However, libxcb will never return NULL from xcb_connect() and thus that commit only works if XCB_USE_XLIB is defined and used. Change-Id: I8cc1496494a94f07055a3ac5093ce362dd347c5b Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add support for platform plugin specific event filters.Simon Hausmann2012-01-201-64/+72
| | | | | | | | | The setEventFilter on the platform native interface allows subscribing to events on the backend by event name. Change-Id: Ib10077fbc69f0207edbae1177e7bbd18c8d0f9ae Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com> Reviewed-by: Michalina Ziemba <michalina.ziemba@nokia.com>
* Add support for QWindow::setOrientation on HarmattanSimon Hausmann2012-01-171-0/+3
| | | | | | | | | | Set the _MEEGOTOUCH_ORIENTATION_ANGLE property on the window, just like Qt Components for MeeGo and MeegoTouch itself. Change-Id: I0b9adf4550593678bbcba89a2d4f1f65c1f4bd20 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* xcb: abort (rather than segfault) when X is not availableRohan McGovern2012-01-161-13/+16
| | | | | | | | Be more user-friendly (e.g. when logging into a machine by ssh and forgetting to export DISPLAY). Change-Id: I9d07b0af9c5b4841827826053bb27b507801ae61 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Lock X display while calling XESetWireToEvent and its callback.Samuel Rødal2012-01-101-3/+7
| | | | | | | | | Prevent potential race conditions as suggested by Uli Schlachter. Change-Id: Ia93eb8be1cbbc3d8ae7913a934c195af6b5ec538 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Uli Schlachter <psychon@znc.in>
* xcb: Fix a memleak when atomName() failsUli Schlachter2012-01-081-0/+1
| | | | | | | | | | The only reason for GetAtomName to fail is when an invalid atom is specified, so the xcb_generic_error_t struct doesn't contain any useful information for us. Still, we have to free it. Change-Id: I3da98018b7bfe08a9d7dcd566ed010f5d7b0df73 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Compile fix - qxcbconnection.cpp (‘Display’ was not declared)Thorbjørn Lund Martsum2011-12-131-0/+2
| | | | | | | | | | | To avoid getting qxcbconnection.cpp:89:29: error: ‘Display’ was not declared in this scope Platform linux - configured with ./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle -no-v8 Change-Id: Ief7315bb8aa67c6454cdeddb1c02e60ea79801b5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use QVarLengthArray in QXcbConnection.Robin Burchell2011-12-131-3/+3
| | | | | | | | | | There's no need in using a QList here, since it's never passed around anywhere; the reference counting is just unnecessary overhead. Change-Id: I92107c69f7338acc396e2ac4a69123c6a2becaed Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Better handling of GLX / EGL errors.Samuel Rødal2011-12-071-1/+6
| | | | | | | | | | If context creation fails, try again without a shared context. Added QPlatformOpenGLContext::isSharing() and QPlatformOpenGLContext::isValid() to propagate whether the platform context was successfully created with or without sharing. Change-Id: I37080b645f531fd207946441057be6d3f6be3f6e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>