summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-141-20/+42
|\ | | | | | | Change-Id: If1abbe7810ea43ae750db91066f9f579c79b2289
| * Scrolling devices should not override touch or tablet devicesAllan Sandfeld Jensen2014-05-131-13/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XISelectEvents override any earlier set event mask for the same device ids. This may cause touch devices to stop reporting touch events if they export scroll buttons or axis. The patch checks for each scrolling device if they are also a touch devices and includes the necessary bitmask if they are, and skips any devices also recognized as tablet devices as they already capture all relevant events. In addition tablet event handling will no longer block handling of wheel button events for scroll devices with the same device id. Task-number: QTBUG-38935 Change-Id: Ifd4657beb0a0cebffe89d3470ef2bd605eb3552e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Assume unlabelled mouse buttons are default buttonsAllan Sandfeld Jensen2014-05-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | This patch fixes legacy wheel scrolling for XInput2 drivers that fail to label mouse buttons correctly. Task-number: QTBUG-38937 Change-Id: I659890517e749dc0039489e0b7a8c38be1065d33 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-123-20/+6
|\| | | | | | | Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
| * Use XI2 event detail to determine changed mouse buttonv5.3.0-rc1Allan Sandfeld Jensen2014-05-053-20/+6
| | | | | | | | | | | | | | | | | | | | | | The button state part of the XI2 events appears to be badly constructed on some devices and platforms. Even where supported the 'detail' field of the XI2 events is what we should be reading since it indicates the button the event refers to and not just the state of all buttons. Task-number: QTBUG-38169 Change-Id: Iedb7971194b3c27448b72c285a54100c511c17e4 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-031-3/+2
|\| | | | | | | | | | | | | Manually fixed up: isES -> isOpenGLES src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
| * centralize auxiliary lib creationOswald Buddenhagen2014-04-281-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | this covers convenience libraries which are linked into dlls (if we are not building statically) and "proper" (installed) builds of 3rdparty code. Change-Id: I2f00248c0baa0e73346e477724bf49bbc62ba925 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-015-13/+77
|\| | | | | | | | | | | This merge adds the opengl rename. Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
| * Use runtime detection of XInput 2.1 to disable legacy wheel eventsAllan Sandfeld Jensen2014-04-254-13/+76
| | | | | | | | | | | | | | | | | | | | Ensure we fall back to using wheel button events if xinput 2.1 scroll events are not available. Handles lack of xinput 2.1 support in the server or in the input devices drivers. Task-number: QTBUG-38169 Change-Id: Ie4ad9069f648d0ab02d8f9540ed01ad58fd9e9d8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * deprecate import_qpa_plugin and qpa_minimal_pluginOswald Buddenhagen2014-04-241-0/+1
| | | | | | | | | | | | | | | | they have been fully superseded by 4255ba40ab073afcf2a095b135883612859af4c2. Change-Id: If7ac14c8b7d3cf00fb0cb916036b62eb86c9cee0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-234-4/+60
|\| | | | | | | Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
| * Reload lastScrollPosition on window enterAllan Sandfeld Jensen2014-04-153-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | We need the lastScrollPosition position to calculated scrolling deltas on scroll events. Since the position is tied to the device and might have changed while scroll events were send to other applications we need to reload the value when mouse focus reenters our application. Task-number: QTBUG-38274 Change-Id: Ic166648f8e7ae486288cbed339a057e3faa1ef2d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Disable threaded rendering if Mesa is usedUlf Hermann2014-04-141-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Mesa and xcb show some bad interaction which leads to frequent crashed on multithreaded access. Also, the selective approach to blacklisting only specific chipsets isn't feasible, given the resources available. The client glx vendor string is used to identify mesa instead of the server GL vendor and/or renderer string as that is much more reliable. Task-number: QTBUG-38221 Change-Id: I2d8c037aa4fd9c38eb9537452a5e7e62f72a081d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | XCB: fix that modal dialogs can go behind other process windowsJorgen Lind2014-04-162-33/+75
| | | | | | | | | | | | | | Task-number: QTBUG-35302 Change-Id: I1ad7a66e530710d5338a15057254360dae676451 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Handle parent is None from query_tree_reply in QxcbWindow::frameMarginsMartin Gräßlin2014-04-141-1/+1
|/ | | | | | | | | | None is a valid return value for parent in xcb_query_tree_reply_t. If that is used as the new parent the next call to xcb_query_tree_unchecked will fail with a BadWindow error. Change-Id: Iafe29b223ca65c86ecfd40fe51e67d4bd7abc1ce Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
* XCB: Print error code on Xlib I/O errorsUli Schlachter2014-04-101-0/+28
| | | | | | | | | | | | | | When Xlib detects that its underlying XCB connection got into an error state, it calls its I/O error handler. However, the default implementation doesn't print the error code from XCB which might be useful for debugging. This commit adds an I/O error handler which prints the error code from XCB with a string describing the error and then calls Xlib's default error handler. Change-Id: I7f1fb3f1e8d0fdc3ac9db03ae7d154330c31db0c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* XCB: Only use the XFixes extension if availableUli Schlachter2014-04-091-1/+1
| | | | | | | | | | | | | | | | | | Commit 0d4918950e61f added a new place (QXcbWindow::setTransparentForMouseEvents()) where requests from the XFixes extension are generated. However, this wasn't checking if the extension is actually supported before using it. Fix this by turning QXcbWindow::setTransparentForMouseEvents() into a no-op if the XFixes extension isn't available. This means that the window in question won't be transparent for mouse events, but we cannot do much about that if the X server doesn't support the required extension. Task-number: QTBUG-38109 Change-Id: I2931481eb71bab990f2dcf0ec600b9e62d3d799c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Don't access null pointerGatis Paeglis2014-04-081-3/+6
| | | | | Change-Id: If9ac712543f7c7fd85d877bba76e67ce89c60c61 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix xcb plugin backing store byte order issueJason Haslam2014-04-081-9/+24
| | | | | | | | | | | | The image format of the backing store should use the byte order of the machine where the application is running, not the native format of the X server. Then, if the byte order of the backing store image differs from the X server's native format, it needs to be converted before being sent across the network. Task-number: QTBUG-29898 Change-Id: Ic91c8ffb814c6beeb9f1d9195174a47d8bd94a90 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Consistently hide the parts that require xcb-xkbThiago Macieira2014-04-052-2/+4
| | | | | | | | It was inconsistent. This also solves a warning from Clang 3.4: error: private field 'vmod_masks' is not used [-Werror,-Wunused-private-field] Change-Id: I6be9f7ef56dffe6df2be3beb984c2d82d3808403 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* Fix regression in key handling.Gatis Paeglis2014-04-032-12/+9
| | | | | | | | | | | | | | | | | libxkbcommon 0.4.1 added two new functions, xkb_state_key_get_utf{8,32}(). They combine the operations of xkb_state_key_get_syms() and xkb_keysym_to_utf{8,32}(). The xkb_state_key_get_utf{8,32}() functions now apply Control transformation: when the Control modifier is active, the string is converted to an appropriate control character. This matches the behavior of libX11's XLookupString(3), and is required by the XKB specification: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier Task-number: QTBUG-36281 Change-Id: Ib45f45d801291c171640600384107a35d7d56b9b Reviewed-by: Ran Benita <ran234@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update bundled libxkbcommon version to 0.4.1Gatis Paeglis2014-04-031-3/+0
| | | | | | | | | | | | | | This is the latest version, released on Mar 27 2014. It includes: https://bugs.freedesktop.org/show_bug.cgi?id=75798 https://bugs.freedesktop.org/show_bug.cgi?id=75892 Required for fixing input when running Qt application on Mac OS X with XQuartz and for fixing QTBUG-36281. Change-Id: Idc4d3c99a4008a10b91ab51c8910b36909974703 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [xcb] Fix build failureGatis Paeglis2014-04-022-20/+10
| | | | | | | | | | | | | | | | | | | | | | Build failure was introduced by 9bb634a6176c639bd6b52d58151e9927c30919d0. When linking with systems provided libxkbcommon, then DFLT_XKB_CONFIG_ROOT can't be accessed directly. The reason that this slip through CI is that on CI machines Qt is build with bundled version of libxkbcommon. In addition this patch improves keymap error message, by making it more explicit for users what could be the reasons for "keymap compilation" failures and what should be done to make input work. As it turns out this is a common issue on old systems, servers and some VNC clients. Task-number: QTBUG-37971 Change-Id: I77667a404150ee7ab8465a065e23ca5eea63c33b Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* XCB: use requested primary screen DISPLAY=:0.1 when possibleDavid Fries2014-03-291-2/+6
| | | | | | | | | | | | | | | | | | | The current logic requires primary->output to not be specified, or match the output number. This fails when the output by that number doesn't currently have a display attached, as non-connected outputs are skipped. This means setting the display to :0.1 for Qt5 will put the window on :0.0 and it can't be moved to :0.1 after the fact. The solution is to pick the first output on the requested screen, then override if an output exactly matches the primary output value. That way it will at least be on the requested screen. Tested with Xephyr, ATI, and nVidia (proprietary driver), where the nVidia had the primary output disconnected. Task-number: QTBUG-15418 Change-Id: I7951dcef74cb135dc12a6e133a71c5852eae9778 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Improve keymap error handlingGatis Paeglis2014-03-272-17/+61
| | | | | | | | | | | - add QT_XKB_CONFIG_ROOT envvar, this can be used to provide an alternative XKB configuration search paths (default XKB configuration root is detected when building Qt library). At runtime these paths might change - when dropping Qt application binary into a system with different setup. Change-Id: Ia21a3e7f0339c95793c1f543d1a95b1591e5d8df Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add better support for keymap update handlingGatis Paeglis2014-03-275-190/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new X11 support API xkb_x11_* released in libxkbcommon version 0.4.0. From the commit message where this API was introduced: "These are function to create an xkb_keymap directly from XKB requests to the X server. This opens up the possibility for X clients to use xcb + xcb-xkb + xkbcommon as a proper replacement for Xlib + xkbfile for keyboard support. Why not just use the RMLVO that the server puts in the _XKB_RULES_NAMES property? This does not account for custom keymaps, on-the-fly keymap modifications, remote clients, etc., so is not a proper solution in practice. Also, some servers don't even set it. Now, the client just needs to recreate the keymap in response to a change in the server's keymap (as Xlib clients do with XRefreshKeyboardMapping() and friends)." This patch moves XKEYBOARD presence decision from compile time to runtime for a proper remote X client support. Task-number: QTBUG-31527 Task-number: QTBUG-32760 Change-Id: I4d402668cda2126ef180b27022154f96b1874b1d Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix regression in minimized state handlingLaszlo Agocs2014-03-251-5/+5
| | | | | | | | | | | | WM_STATE and _NET_WM_STATE are not the same. c6e271da6d1d972ad73a97871baafe57578a69a9 introduces a severe regression in this respect, making applications on xcb not to follow window state changes properly. Task-number: QTBUG-37695 Change-Id: Ia058bc11d5aa988eab513939c9f755c2f77512ee Reviewed-by: Martin Klapetek <mklapetek@kde.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Update bundled libxkbcommon version to 0.4.0Gatis Paeglis2014-03-192-24/+1
| | | | | | | | | | | | | This release comes with important bug fixes. Also we can now remove the workaround code which was needed for libxkbcommon 0.2.0. Task-number: QTBUG-31712 Task-number: QTBUG-33732 Task-number: QTBUG-34056 Change-Id: I57caf7f803b9a01a15541a5ad82e464de3b8abbb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* X11: defaultDragDistance depends on screen resolutionShawn Rutledge2014-03-181-1/+14
| | | | | | | | | | | The usual default is 10 pixels, but on a screen with resolution exceeding 100 DPI, it will be a proportionally larger number. The reason is that such precise finger and mouse movements are more difficult on higher-resolution screens. Change-Id: I6e66299e12e6cac5c4e032251b32a34940970372 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QXcbWindow - inline the atom functionsMartin Klapetek2014-03-151-8/+5
| | | | | Change-Id: I3a8f9efb7de21bf2301721edca49c9411c62eed0 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Update QScreen::availableGeometry() on _NET_WORKAREA atom changesMartin Klapetek2014-03-152-1/+5
| | | | | | | | | | | | | | When the window manager sets new workarea using the _NET_WORKAREA xcb atom, QScreen::availableGeometry() does not react to that and returns an invalid available geometry. This patch reacts to that change and updates the QScreen property properly on xcb platform. Change-Id: I8f0b4a27bab0ce450fb7393f4d9a56f3ce9a4ea1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* [XCB] Fix crash in QML drag-and-dropGatis Paeglis2014-03-142-2/+3
| | | | | | | | | | | Use QPointer to make sure that we are not trying to destroy already deleted object. Task-number: QTBUG-35702 Change-Id: Ib746996787488e636f25e6ea5be0571607ee2ded Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* [XCB] Fix drag-and-drop segfaultGatis Paeglis2014-03-141-1/+0
| | | | | | | | | | | QXcbDrag inherits QBasicDrag which takes care of calling updateAction() when needed, we don't need to call it explicitly. Task-number: QTBUG-33057 Change-Id: I754408f74f56de36ace8ffa40a61bd7c64619899 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* XCB plugin: query screen resources without _currentRolf Eike Beer2014-03-141-6/+6
| | | | | | | | | | | | | | | | | | | xcb_randr_get_screen_resources() and xcb_randr_get_screen_resources_current() do basically the same, but for one case: if nothing has queried these information ever before. So if an application is the very first client ever to connect to an X server it may just return nothing. A call to xcb_randr_get_screen_info_reply() will then cause the X server to allocate the needed information and send an update notification, resulting in a second QXcbScreen being created, but the other one is still around and probably used. The behavior I observed with a simple test application was that the application was not visible on the screen when it was the first client ever on the X server. Killing the application and starting it again made it work just fine. Change-Id: Id64f267e8ebcfa5b39d21d98307170a09e5169df Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix deprecated setOption() usage in GLX integrationLaszlo Agocs2014-03-141-2/+2
| | | | | | | | The correct function is setOptions(). Change-Id: Ife9ff75c409c843b4871804fcfd06b9d2a7733d3 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Export rootWindow to the QXcbNativeInterfaceMartin Gräßlin2014-03-082-2/+17
| | | | | | | | | | | | | | | | This change exports the root window to the native interface as there is QX11Info::appRootWindow which so far goes over the QDesktopWidget to get the window id of the root window. Which is a rather hackish way considering that the root window is known to the QXcbConnection. But even more it's a very fragile way and can result in crashes on startup of applications if the application accesses the appRootWindow too early. Change-Id: Ibb09a7fa714cb355f579298fc6df33bf80f73f58 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* Remove usage of QT_NO_SHAPEGatis Paeglis2014-03-073-12/+2
| | | | | | | | | | | | | First of all QT_NO_SHAPE was never set in configure script, which means that !contains(DEFINES, QT_NO_SHAPE):LIBS += -lxcb-shape always was true and we were linking to -lxcb-shape no matter what. Secondly, we are providing shape.c in qtbase/src/3rdparty/xcb/libxcb, so users always have an -qt-xcb option available to get this extension. Change-Id: I7d14a0ac5ca6e36fb9c053225916cae41028b532 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Update bundled libxcb-xkb version to 1.10Gatis Paeglis2014-03-061-1/+2
| | | | | | | | 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>
* Use None instead of GLX_NONEAlbert Astals Cid2014-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | GLX_NONE is not 0, so it doesn't work as end-of-list marker The documentation explicitly mentions to use None or NULL Fixes valgrind warning ==22686== Conditional jump or move depends on uninitialised value(s) ==22686== at 0x78949AF: glXCreatePbuffer (glx_pbuffer.c:709) ==22686== by 0xDD7F0E1: QGLXPbuffer::QGLXPbuffer(QOffscreenSurface*) (qglxintegration.cpp:515) ==22686== by 0xDD624B0: QXcbIntegration::createPlatformOffscreenSurface(QOffscreenSurface*) const (qxcbintegration.cpp:259) ==22686== by 0x4F1D6A2: QOffscreenSurface::create() (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.2.1) ==22686== by 0xDD80248: QGLXContext::queryDummyContext() (qglxintegration.cpp:454) ==22686== by 0xDD803F0: QGLXContext::supportsThreading() (qglxintegration.cpp:488) ==22686== by 0x5BD9927: QSGRenderLoop::instance() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x5BF969E: QQuickWindowPrivate::init(QQuickWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x5C97BFC: QQuickView::QQuickView(QWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x40636F: startShell(int, char const**, void*) (main.cpp:91) ==22686== by 0x407125: main (main.cpp:193) Change-Id: Ib4f5ae50f7e31d3fbeb5acf67753e1d8b9e434b0 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* xcb: Rename main.cpp to xcbmain.cpphjk2014-03-042-2/+2
| | | | | | | | | Files with same base name cause extra trouble for debuggers. It can be avoided here. Change-Id: I1b7a6f28ac41bacbfd2603feb8b786c31d3769e3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* XCB: update the platformwindows version of Qt::WindowStateJorgen Lind2014-02-271-0/+1
| | | | | | | | | when the event comes from the windowing system Task-number: QTBUG-31117 Change-Id: Id136ad8c39c9284cbd6ad126ee71ac655f8f91ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix potential null pointer access in qglxKai Koehne2014-02-241-10/+12
| | | | | | | | | | | This reportedly does fix crashes when running a Qt Quick 2 application over remote X. Task-number: QTCREATORBUG-11207 Change-Id: I6fa82420f9d12e56e52fa8efd263bf18d868d7d8 Reviewed-by: Ville Nummela <ville.nummela@parker.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Avoid using GLX Pbuffers on CatalystLaszlo Agocs2014-02-211-1/+12
| | | | | | | | | | | Trigger QOffscreenSurface's fallback mode (hidden QWindow and a regular window surface) instead. queryDummyContext() already works like this but the same must be done for any QOffscreenSurface. Task-number: QTBUG-36900 Change-Id: I64176ac6704e9d6ed768fa3d456c40c8818be6dc Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Enabling QQuickWidget and QOpenGLWidgetPaul Olav Tvete2014-02-125-5/+38
| | | | | | | | | Enable child widgets (without a native window) that render to an FBO and are composed with the raster backingstore by the platform plugin. A preliminary version of QOpenGLWidget is included as private API. Change-Id: I8f984a4d7db285069ce3d6564707942c823d890d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-02-111-3/+3
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-3/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-01-271-1/+3
| | |\ | | | | | | | | | | | | Change-Id: I4680723bef393a15d5aa63b9dd7d5fbb599bd9fa
| | | * X11: build again on Linux distros that don't have XInput 2.2Shawn Rutledge2014-01-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed1616ToReal is needed by the XI2 tablet event debugging added in ecf11d62fc6f57cccf6f3326e768b1c7cabbd0b3, so it needs to be available if tablet events are supported and XI 2.2 events are not (older Linux distros). Change-Id: Id763d585790a9f037abc408dfba4ab5eec6dd421 Task-number: QTBUG-36437 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
| | * | X11: Qt::ActiveWindowFocusReason in QFocusEvent when appropriateShawn Rutledge2014-01-211-3/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When one window loses focus because another window got it, the reason should not be Qt::OtherFocusReason. If it is ActiveWindowFocusReason or PopupFocusReason, any QtQuick text elements that were in the window which lost focus will not deselect any selected text. Task-number: QTBUG-36292 Change-Id: I4630f74e6aacd928284cedab6ed711c95b24bff7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Do not set input focus if WM supports _NET_ACTIVE_WINDOWMartin Gräßlin2014-02-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case the window manager supports _NET_ACTIVE_WINDOW a client message is sent to the root window and the window manager is expected to either activate the window or mark it with demands attention. In addition the code unconditionally also called xcb_set_input_focus which breaks the intention of sending the client message. Thus it is now only done if the WM doesn't support the protocol. This was also the logic in Qt 4.x in QWidget::activateWindow (qwidget_x11.cpp). In addition set_input_focus is only called if the window is a toplevel. Change-Id: Iec4c02f0ea62db30a4b347d474fdfd2f05b8895b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>