summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* Report threaded rendering support in xcb when using event reader thread.Samuel Rødal2012-11-082-1/+3
| | | | | | | | | | | Threaded rendering had issues due to bugs in xcb before xcb_poll_for_queued_event() was added. Now xcb_poll_for_queued_event() is resolved at runtime and if present xcb events are received on a separate thread. Change-Id: I05420c8c9f9a20f41ce0f86ed255bc8b295e7fe5 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Rename all QWindow properties that have "window" in themShawn Rutledge2012-11-072-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | windowTitle, windowModality, windowIcon and so on are named that way to be similar to the ones in QWidget. However QQuickWindow inherits all of the declared properties, and we would like to have shorter property names in QML. If you are working with a Window then it's obvious the title property is the window title. Unfortunately, there must be patches in many other modules which depend on this one. In order to avoid the need to merge them all at the same time, there is also patch https://codereview.qt-project.org/#change,39001 which temporarily adds backwards-compatible accessors, which can be removed after the other modules are able to build without them. We should not rename windowState to state, because in QML, state usually drives the state machine for animation transitions etc. (although QWindow is not an Item, a user might get confused about it). Related patches are https://codereview.qt-project.org/#change,39001 https://codereview.qt-project.org/#change,37764 https://codereview.qt-project.org/#change,37765 https://codereview.qt-project.org/#change,37766 https://codereview.qt-project.org/#change,37762 Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add configure option to minimize xcb runtime dependenciesKai Koehne2012-11-074-109/+199
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Resolve xcb_poll_for_queued_event at run-time.Samuel Rødal2012-11-073-29/+49
| | | | | | | | | 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>
* Send QContexMenuEvent when Context Menu key is pressed.Friedemann Kleint2012-11-061-1/+8
| | | | | | | | Bring back code from keymapper_x11.cpp. Task-number: QTBUG-27648 Change-Id: I2a189a0537bcd2ae0eb093576c84814b2f09933b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: Fix a trivial reply leakUli Schlachter2012-11-021-1/+1
| | | | | | Change-Id: Ib9a0f96007e6dc5e125bfcd39bd1ef09baebae3b Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: Fix a colormap leakUli Schlachter2012-11-021-0/+1
| | | | | | | | | The function createDummyWindow() allocated a colormap, but never freed it. Freeing it is safe after the window is created. Change-Id: I4c876568572c9e1e9dde7047850a51917ef3702f Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@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>
* Added MultipleWindows platform capability.Samuel Rødal2012-11-021-0/+1
| | | | | | | | | | | | | | Several platform plugins, like eglfs, kms, etc don't support multiple windows as there's no system compositor, they're rendering directly to a single back buffer. By adding a platform capability we'll be able to provide better error reporting when an application tries to create multiple QWindows on a single-window platform. Also, QML apps can use this capability to figure out whether they should create a QWindow for dialogs / popups / menus, or whether to just create items in the same scene, that are shown on top of the rest of the content. Change-Id: I15b8d21ee2bc4568e9d705dbf32f872c2c25742b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* XCB: Use screen's client leader as fallback for transient parent.Friedemann Kleint2012-11-021-8/+10
| | | | | | | | | Modal dialogs that do not have a QWidget parent may be hidden by their parent unless they actually have a transient parent. Task-number: QTBUG-27786 Change-Id: I7847df3517e5ba6e8d77a2a18c905e908a3cd2f4 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* beef up qt_plugin.prfOswald Buddenhagen2012-11-011-4/+1
| | | | | | | it now defines the DESTDIR and creates an INSTALLS rule. Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Prevent potential crash in QXcbCursor::queryPointer().Samuel Rødal2012-10-263-12/+11
| | | | | | | | | | | xcb_get_setup might return 0, but we already have it in QXcbConnection. Task-number: QTBUG-27686 Change-Id: I58418aedd6bc121ae2b9605389beb3f6612d7fb7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add glxContextForContext function to QXcbNativeInterface.Zeno Albisser2012-10-262-1/+22
| | | | | | | | | | | This change enables receiving the native GLXContext object that is used by a QOpenGLContext in case of GLX. This clearly is non-public api that is only meant to be used as a last resort for cases where it is really necessary to get hold of a native context object. Change-Id: I7f1f974f18063ed334b8034a0c0192c875c10cec Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't crash if there's no m_image yet.Sérgio Martins2012-10-251-1/+4
| | | | | | | | | | | Reproducible with: QBackingStore store( &window ); store.beginPaint(QRect(0,0,500,500)); All other methods already have null pointer checks. Change-Id: Ie278a263760900b58cf4a2ef286deb7f35d50cd0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix warning about missing return value in XCB native interface.Friedemann Kleint2012-10-231-0/+2
| | | | | Change-Id: If311211076c05ed8d0fb62a9ff1129b93a813850 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove DRI2/OpenGL code paths from xcb plugin.Samuel Rødal2012-10-198-545/+8
| | | | | | | | | | | 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-196-7/+53
| | | | | Change-Id: I9285d7524586ff404206c088019ece33335137d9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Modularize drag and drop documentationGatis Paeglis2012-10-191-19/+6
| | | | | | | | - Move dnd docs and examples out of QtDoc module to gui library in QtBase - Remove info related to Motif dnd since Qt5 doesn't implement it Change-Id: Id7eb4eb422f4294a36dd92709ce3007903371f03 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-172-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Document needed packages for XCB on Fedora.Niels Weber2012-10-161-0/+4
| | | | | Change-Id: I415416e82d342b232607fe7087350a9dad615f7a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowFlagsRichard Moe Gustavsen2012-10-152-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set as many of the flags it can, and return the same flags with the unsupported flags removed. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowFlags would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window flags upon creation). As such, the filtering would never be done. Looking at the current set of plugins, most of them also seems to ignore this protocol, returning the flags unfiltered. This patch suggests removing the return value from QPlatformWindow::setWindowFlags. This will at least be consistent, so that setting/getting flags would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported window flags. Change-Id: I9c759b5f9fab5ebed764a982f77fe19881118875 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Simplify transaction expiry mechanismGatis Paeglis2012-10-132-29/+41
| | | | | | | | | | | | | | | | | | | | | This patch makes transaction mechanism less scattered around and conforms to the xdnd specification: Don't block and keep a history of previous data. This can be very difficult to implement, but it is clearly the ideal behavior from the user's perspective because it allows him to drop something and then continue working with the assurance that the target will get the data regardless of how slow the network connections are. When the source receives XdndFinished, it can remove the item from its history, thereby keeping it from getting too large. The source must also be prepared to throw out extremely old data in case a target malfunctions. I assume that 10min for drag-and-drop operation can be considered 'extremely' old data. Change-Id: I73dcd21aee3ad188d2260e49d80824da6ba040ab Task-numer: QTBUG-14493 Reviewed-by: David Faure (fixes for KDE) <faure@kde.org> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Make sure timestamp is initialized before using it for seting selection owner.Gatis Paeglis2012-10-133-1/+58
| | | | | | | | | | | | | | | | | | | | | 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>
* Added missing keysym to handleExtendedKeyEvent in xcb plugin.Samuel Rødal2012-10-101-2/+2
| | | | | | | | | Now it's propagated to QKeyEvent::nativeVirtualKey() as it should. Task-number: QTBUG-27353 Change-Id: I40921b99662951decc83d2278e0cd337266dd530 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Compile fix for when XCB_USE_GLX is not defined.Samuel Rødal2012-10-102-3/+7
| | | | | | | Fixes compile failure introduced by 394249616cbb4c0861a032d33f846f. Change-Id: I5794d22ee87eb18c08ea1de227b943f2e675356c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Don't request a context version higher than is supportedSean Harmer2012-10-035-57/+264
| | | | | | | | | | | | | | | 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>
* Fix a crash with xcb on 64bit systems when hitting any key.Jocelyn Turcotte2012-10-024-38/+138
| | | | | | | | | | | | | | | | xcb uses 32bits for xcb_keysym_t, but Xlib uses 64bit longs on 64bits systems for KeySym and all other XIDs on the client side. Passing an xcb_keysym_t* to XLookupString, expecting a KeySym*, would overwrite the next 32bits in memory and possibly cause a crash. This patch makes sure that a KeySym* is passed to XLookupString, and use the signature declared in Xutil.h to make sure the types are right. Encapsulate it in qxlibconvenience.cpp since including Xutil.h inside qxcbkeyboard.cpp causes macro expansion problems. Change-Id: I68451a24cb44a43dfa4382b5dce1ea7845f14e26 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* Stop delivering messages when drop has occurred.Gatis Paeglis2012-10-022-1/+7
| | | | | | | Task-number: QTBUG-27406 Change-Id: If14c108060ad6de70991658f0e0249eb544b87a0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Retrieve drop data with a proper timestampGatis Paeglis2012-10-024-4/+8
| | | | | | | | | | | Occasionally drag-and-drop was returning empty mimedata due to using wrong value for timestamp. Accoring to the xdnd specification we must use timestamp from XdndPosition or XdndDroptime for retrieving the data. Task-number: QTBUG-27367 Change-Id: Iadb6b6989cfc4e8ab241e2fd0ded59355108f22f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Ensure that QDrag is set correctly at all times.Gatis Paeglis2012-10-021-5/+7
| | | | | | | | | | | | | This patch fixes broken code in handleSelectionRequest(). There are 2 cases when this function is called: 1) When XdndDrop has arrived (on mouse release) 2) When drop has not occurred yet (while mouse are still pressed down) Second case was not working due to this bug. Task-number: QTBUG-27405 Change-Id: I913cfd332128a28861e2fcc027b406eb821d2597 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed xdnd protocol-version detection codeGatis Paeglis2012-10-021-3/+3
| | | | | | | | | | | Bug introduced when porting from Xlib to xcb. Xcb returns actual number of bytes read while Xlib returns number of 8-bit, 16-bit, or 32-bit items stored in the returned data. Task-number: QTBUG-27403 Change-Id: Ia64da1953ec7be8d32cc591565cd1b41ce8d7dbb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't let mimeData return 0.Gatis Paeglis2012-10-021-12/+25
| | | | | | | | | Fixes bug introduced in SHA e247e2810 (QTBUG-26709). Change-Id: I9aa80239675b2d564d08a019ca267a9aa814074e Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QXcbWindow: Don't recreate window when reparenting.Yoann Lopes2012-10-011-3/+0
| | | | | | | | | | | | For consistency, this behavior has been kept across Qt versions... Just get rid of it. Also fixes native child widgets not being notified of the change of window handle (winId) when being reparented. Updated auto-test. Change-Id: I3616dc0f1c32a519d78a4846297d6d4a6e926fbf 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: Correctly report the created OpenGL context version and profileSean Harmer2012-09-261-8/+69
| | | | | | | | | | | | | | | This commit fixes the xcb qpa plugin such that it now correctly reports the version and profile of the created OpenGL context in the QOpenGLSurfaceFormat. To do this we have to create a temporary X window so that we can make our new context current. We also handle the buggy nVidia drivers which incorrectly report 0 for the GL_CONTEXT_PROFILE_MASK query. The reduced format is also copied back from qglx_findVisualInfo. Change-Id: I6f34fe1c6130aebbb6b40c36df4acc216069d2b1 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* 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-246-94/+151
| | | | | | | | | | | | | | | | 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-2235-840/+840
| | | | | | | | 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-184-64/+244
| | | | | | | | | | | | | 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>
* Prevent buffer overflow in QXcbWindow.Samuel Rødal2012-09-181-1/+1
| | | | | | | | Thanks to Janne Kulmala for noticing this and informing about the fix. Task-number: QTBUG-27123 Change-Id: Idd3cfd74fb7be277b6d805446aea5784b8fdf2f6 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make maemo scope syntax in project files more genericLaszlo Papp2012-09-141-1/+1
| | | | | | | | | | | | | | | | | It is necessary to use the n9 device file for now in scratchbox or/and on the community open build service because the maemo platform mkspecs file assumes that a cross-toolchain is used all the time. If no platform file is used, then for instance certain plugins may not be built in general. There is currently an ongoing issue with the meego plugin for context management in the Harmattan components project. That is currently not built due to this issue, so no orientation works in those applications. The nice solution would be to make the maemo platform file work with cross and native toolchains as well, but that requires a decent amount of investigation and work. Thereby, the scope is extended this way for now. Change-Id: I172c7d152bdbb2db279526d9fd1ca5648d0cd0a9 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Removing duplicate includesSergio Ahumada2012-09-091-1/+0
| | | | | | | Do not include a header more than once Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use true and false in preference to TRUE and FALSESergio Ahumada2012-09-051-2/+2
| | | | | | | | The TRUE and FALSE macros are obsolete and should be replaced with true and false (all lower case) respectively. Change-Id: Iee352e8173500683e6319be0abbf5bacf29016e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* xcb: fix unused static warningMarc Mutz2012-08-231-0/+2
| | | | | | | | | The variable ptrXcursorLibraryLoadCursor is only used in code wrapped in XCB_USE_XLIB. Change-Id: If0b4997ac6e80a3709263d9793d1ca0dfd5907f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fixed missing window decorations on compiz.Samuel Rødal2012-08-231-3/+1
| | | | | | Task-number: QTBUG-26954 Change-Id: I6981338d4bbc9cf1440c9d67e9d034e0553dfeae Reviewed-by: Jason Barron <jason.barron@nokia.com>
* Fixed non-GL applications crashing when GLX/EGL initialization fails on xcb.Samuel Rødal2012-08-221-15/+20
| | | | | Change-Id: I5a08d6067272575aa56074aaebe308c3d49299bb Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Clean up QScreen::grabWindow()aavit2012-08-181-3/+7
| | | | | | | | | | | Handle 0 WId parameter as meaning "desktop window"/whole screen. Also, re-add the default values for the grab area, both for convenience and compatibility with QPixmap::grabWindow() in Qt4. Update the screenshot example so it doesn't comlain about usage of deprecated QPixmap::grabWindow(). Change-Id: I2ad229113ddb8ded0388f2ebc0e8c703c6657f1f Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add Linux Accessibility BridgeFrederik Gladhorn2012-08-141-1/+2
| | | | | | | | This is a plugin that bridges the QAccessible world to AT-SPI 2 on Linux. Change-Id: I7af22621ee6a3cefc723b137b7f227a611cf6641 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>