summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Fix physical DPI and size for rotated screens on X11Paul Olav Tvete2015-01-082-1/+22
| | | | | | | | | | | | | | | Rotated screens would use the unrotated physical geometry, causing the calculated physical DPI to be completely wrong. In RandR, the output does not rotate, so the physical size is always for the unrotated display. The transformation is done on the crtc. http://www.x.org/releases/X11R7.6/doc/randrproto/randrproto.txt Task-number: QTBUG-43688 Change-Id: Ifde192fcc99a37d0bfd6d57b4cdeac124a054ca3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in>
* Fix use-after-free bugGatis Paeglis2015-01-081-2/+2
| | | | | | | | | | xcb_image_destroy() calls free on m_xcb_image and then few lines down we access member of m_xcb_image. Swap order of these two actions. Change-Id: I01fb43a066459cce462df6af22161c35cef524eb Task-number: QTBUG-43623 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Remove direct linkage to dbus and qdbusSimon Hausmann2014-12-181-5/+0
| | | | | | | It appears that there is no code in the plugin that actually uses dbus. Change-Id: I654cf0b8f5ecc018f2c6ae8701220f7496915a60 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* xcb: Don't return 0 from QXcbKeyboard::possibleKeysAlexander Volkov2014-12-181-1/+2
| | | | | | | | | | It's possible to get 0 for baseQtKey in case Caps Lock is used as a layout switcher. So don't include this value in the result. Similar fix was in commit d904533acba1267431ca2c5f0d3e85cc59a20a26. Task-number: QTCREATORBUG-9589 Change-Id: I46fc91f9faf6fd0699f062a72fd2ca3187232f5a Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Fix xcb backend not grabbing the server as defaultJørgen Lind2014-12-121-1/+1
| | | | | | | | | | | The xcb backend relies on grabbing the x server in a few situations like popuphandling. For Qt 5.4.0 the logic enabling this code path was moved into the plugin. However it defaults to never grabbing the server Change-Id: I82489a0727affbce62587b3d7470085cf716a0cc Task-number: QTBUG-43049 Reviewed-by: Martin Gräßlin <mgraesslin@kde.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Handle SelectionClientClose in QXcbClipboardMartin Gräßlin2014-12-101-1/+2
| | | | | | | | | | | | | QXcbClipboard listens for subtype SelectionClientClose of Xfixes SelectionNotify event, but doesn't handle it. When the client holding the clipboard selection closes the Clipboard becomes empty and thus the change should be emitted. This fixes downstream KDE Bug #329174. Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* XCB: send leave event on grabJørgen Lind2014-11-261-16/+17
| | | | | | | | | | | | | | When a popup is opened it grabs the input, but the leave event to the other windows needs to be sent. Remove the popupEnterLeave test as it did not test any code. The Popup never gets any enter or leave events so it will succeed always succeed Task-number: QTBUG-36862 Change-Id: I625c616eeb74b5168af7b751485e2a9a53b76cd3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Do not apply subpixel gamma-correction on XCBAllan Sandfeld Jensen2014-11-111-1/+3
| | | | | | | | | | | | | To match rendering of subpixel antialiased text in Qt 4.8 and other toolkits on X11, we should not apply gamma-correction. This also makes the rendering of subpixel antialiased text closer to normal antialiased text. Task-number: QTBUG-41590 Change-Id: I45ad3448334951353657b878d002eea429858f2d Reviewed-by: Samuel Rødal <srodal@gmail.com> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Make the -nograb and -dograb arguments actually work on xcbJørgen Lind2014-11-114-11/+38
| | | | | Change-Id: Idc725443e4abe27db3e530f08173897bfcbe1278 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Prevent a leak of QXcbXSettingsPrivateGiuseppe D'Angelo2014-11-033-0/+8
| | | | | | | | | | The private was not deleted. Adding the dtor in turn causes a warning about not having a virtual dtor in the base class, so add that as well. Change-Id: I24a90caf2cf6192a6f17cf5af96b8f77010d9127 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Remove unused variableLars Knoll2014-10-311-1/+0
| | | | | | | Also fixes a compiler warning with clang Change-Id: I99beb7e099477b2b8b53af0e9fd32a7605a6c08a Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* xcb: Fix getting the primary screen from QXcbConnection::screens()Alexander Volkov2014-10-298-20/+26
| | | | | | | | | | | | | | | | Currently getting QXcbScreen* for primary screen is too messy and it wrongly uses QXcbConnection::primaryScreen() as an index in QXcbConnection::screens() although QXcbConnection::screens() returns the primary screen as the first item in the list since 3c8eb404877df9c967d81fa9df7d718c538fb407. So to clear the API rename primaryScreen() to primaryScreenNumber(), add QXcbConnection::primaryScreen() that returns correct QXcbScreen* and use it directly. Change-Id: Icb7391aa3e82b32ca48f2bda764dcf7ffd89cc47 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* xcb: Fix setting the alert state for a windowAlexander Volkov2014-10-291-6/+3
| | | | | | | | | | Send a _NET_WM_STATE client message to the root window instead of changing the window property. Task-number: QTBUG-41310 Change-Id: I864af0158ec55796bb3cbc123469709b2be54ec8 Reviewed-by: Martin Gräßlin <mgraesslin@kde.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix shortcut handling with non-latin layoutsGatis Paeglis2014-10-272-48/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shortcut handling with non-latin keyboard layouts were broken for checks like: QKeyEvent key = ...; key == QKeySequence::SelectAll In Qt4 this was handled transparently when getting keysym from XLookupString. When ctrl modifier was set, XLookupString performed "keysym transformation" to obtain a latin keysym. Still this did not solve the non-latin shortcut issues for all cases due to some of Xlib assumptions which could not be controled by user. This patch implements XLookupString-like behavior in lookupLatinKeysym(). It is not a 1-to-1 copy of how XLookupString perfoms latin keysym lookup, but it serves our needs just fine. lookupLatinKeysym() also handles the cases that did not work in Qt4 with XLookupString, thanks to libxkbcommon keymap query API. And lookupLatinKeysym() replaces the fragile implementation of "fallback latin key" code path in possibleKeys(). Done-with: Ruslan Nigmatullin Task-number: QTBUG-33182 Task-number: QTBUG-32274 Change-Id: I56a5b624487ca6c2c3768220301a37dac39b439a Reviewed-by: Ruslan Nigmatullin <euroelessar@yandex.ru> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Don't link to Xlib's Xrender libraryGatis Paeglis2014-10-271-1/+1
| | | | | | | We don't use this library in XCB plugin. Change-Id: Ifcc2f404b3cbf5601eb094eaac923d2f9e6e981b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* XCB: Don't trigger less specific shortcutsRuslan Nigmatullin2014-10-221-0/+12
| | | | | | | | | | Without this patch some keycodes like Ctrl+Shift+= may generate several similar key sequences like Ctrl++ and + but only more specific keys should be returned by QXcbKeyboard::possibleKeys. Task-number: QTBUG-38137 Change-Id: I23f6522eefaa3b83cfa639f76bdc6a19b450c6f9 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Gabriel de Dietrich2014-10-181-0/+4
|\
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-141-0/+4
| |\ | | | | | | | | | Change-Id: Ic01820f2390e419a5b286643e7351e85ae032473
| | * XCB: silence warnings about possibly undefined shiftsGiuseppe D'Angelo2014-10-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code shifts "1" by a uint32 number. If that number is >= 32, we're triggering undefined behavior, and Coverity rightfully complains about that. Add some asserts to silence those warnings. Change-Id: Ib91085a279b0a2b7ad37afad05ec1d764c0496b1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | XCB: Always set X window attributes in QXcbWindow::setWindowFlags().Friedemann Kleint2014-10-171-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDockWidget and QToolBar set the Qt::BypassWindowManagerHint window flag when unplugging and clear it in the endDrag() methods. This does not have any effect since the attribute is not taken into account in QXcbWindow::setWindowFlags(). Change the method to always set the attributes, which should also make it possible to set/clear Qt::WindowTransparentForInput. Task-number: QTBUG-41189 Task-number: QTBUG-38964 Change-Id: Id9eddc642489d18f44c7597f8fc1a1df71971306 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | xcb: Fix a type of variables for xkb modifiers masksAlexander Volkov2014-10-161-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I05c7c6a649a55fc0648b1cb84e1c402160c9d998 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | xcb: Don't return 0 as a possible key for a shortcutAlexander Volkov2014-10-161-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | QXcbKeyboard::keysymToQtKey() may return a value of 0 for keysyms that are not supported by Qt (e.g. for XK_ISO_Next_Group). It is then translated to an empty QKeySequence which in turn is detected as a partial match for any shortcut. The behavior of QShortcutMap::nextState() becomes broken because it sets current state to QKeySequence::PartialMatch while there is no match at all. Task-number: QTCREATORBUG-9589 Change-Id: I1e2a4511a876dfa418db9906d10382255a2e4d62 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Gabriel de Dietrich2014-10-013-2/+9
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Gabriel de Dietrich2014-09-293-2/+9
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_unix.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I6f1aa320d5ca66cd92d601a95885aeaab0abb191
| | * XCB: fix a memory leakGiuseppe D'Angelo2014-09-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | An early return didn't deallocate a xkb_state struct. Change-Id: I158ffc67030403636aceab985cc605888a31804b Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * XCB: fix a possible array overflow leading to a crashGiuseppe D'Angelo2014-09-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QClipboard::Mode returned from modeForAtom should be checked everywhere because values greater than Selection (i.e. FindBuffer) aren't supported on X and should mean error conditions. The lack of such a check did an out-of-bounds array access, which could lead to a crash. Change-Id: I70f70b5f713ab2f892e258d4df2f7afeb434f0c1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| | * XCB: fix a memory leakGiuseppe D'Angelo2014-09-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | An early return caused a leak of a new'd allocated object. Change-Id: I9fbc37238dd49066d24363a2e8ee8bf35b155301 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | | xcb: Fix detecting the fullscreen state from _NET_WM_STATE flagsAlexander Volkov2014-09-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | A fullscreen window can have maximized flags being set so first check the NetWmStateFullScreen flag. Change-Id: Ia802abf3cfa4c784baa2d55088e3f53310f0362e Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | xcb: Fix logic for minimized stateAlexander Volkov2014-09-291-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | _NET_WM_STATE message can be received by a window in the minimized state. Don't change the window state in this case. Task-number: QTBUG-31117 Task-number: QTBUG-39376 Task-number: QTBUG-34430 Change-Id: Ic77a345e442891972b692803fab1e2f6aef30433 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Update license headers and add new license filesMatti Paaso2014-09-2440-760/+440
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-09-248-42/+67
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-238-42/+67
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Add QMAKE_CFLAGS_XCB to xcbBoris Savelev2014-09-102-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QMAKE_CFLAGS_XCB to xcb-static, needed for successfully building with -qt-xcb. Add QMAKE_CFLAGS because some code gets built with the C compiler. Also, this fixes a compile error when xcb include is not in system include path. Task-number: QTBUG-41129 Change-Id: I842ebe391a7a857e234becc451c33601fce9b07a Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * QGLXContext survives screen removalShawn Rutledge2014-08-282-26/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | The screen pointer is usually only used to get the Display, which normally doesn't change anyway. Task-number: QTBUG-39996 Change-Id: Ie35f02fc9330647897a9f081afb8c9ce550eed2a Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Avoid crash if querying device that has gone awayAllan Sandfeld Jensen2014-08-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A device removed very fast after being inserted might disappear while we are still seting it up. We must therefore check if we indeed still get a matching device Task-number: QTBUG-40820 Change-Id: I4372fb1932264e5799f37cea0d016795e28ebed6 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Fix handling QT_IM_MODULE=nonePekka Vuorela2014-08-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was added with 19a39a4 to allow no input context to be created. Broken by commit 24c10b0. Especially if compose input context didn't get compiled, the first input context found was loaded. Also made Xcb integration use compose plugin by default. Change-Id: I992eaa8b383320e4ab725bb7b79f561f4f841458 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| | * xcb: use keyboard event source window to determine auto-repeat valueDyami Caliri2014-08-203-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xcb auto-repeat checking code checks for queued events on the target (focused) window. This breaks down if you have a native child widget, and QKeyEvent::autoRepeat is never true. Task-number: QTBUG-21500 Change-Id: Ia979edfa8a3afce07a3e1cbaa778541ffb9ce5dc Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| | * Detect wrongly labelled wheel buttonsAllan Sandfeld Jensen2014-08-201-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A mouse device with both missing labels and a wrongly placed label on the mouse wheel buttons have been spotted. This patch makes the XInput2 code even more lenient to better match legacy systems that always assumed button 4 and 5 are mapped that way. Task-number: QTBUG-40806 Change-Id: I7cc52f3d9c54e15e6f3ddcc2bdeb1bb8e0ac9eca Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | xcb: support Wacom touch devices; distinguish from tabletsShawn Rutledge2014-09-231-7/+41
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | A tablet which can also do touch will show up as several XInput devices. The touch device should be treated as a touch pad, not as a tablet. [ChangeLog][Platform Specific Changes][X11 / XCB] Wacom touch devices are not mistaken for additional graphics tablets Task-number: QTBUG-39572 Change-Id: I7a61a4c0d82925080edb0175b7d03870748f55ce Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | xcb: Fix memory leaks in DnDAlexander Volkov2014-09-191-3/+10
| | | | | | | | | | | | Change-Id: Ie19711c17769128db67a0b083ef72109f49bfe78 Spotted-by: Alexander Smirnov Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | qpa: Make screen geometry updates (full and available geometry) atomicTor Arne Vestbø2014-09-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the geometry and available geometry in two steps means that QScreen will be in an inconsistent state when emitting the geometry change signal, as the available geometry has not been updated yet. Piggy-backing changes to the availableGeometry based on the virtual geometry changing does not make sense, so we now tie geometry and availableGeometry (and their size variants) to their own separate geometryChanged and availableGeometryChanged signals. Change-Id: Iee0ced642cbb91c470cb54bc507d2c0512482c13 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | xcb: fix getting a XdndAware property if a proxy window existsAlexander Volkov2014-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | According to the XDND standard (http://www.newplanetsoftware.com/xdnd/) if the proxy window exists then it should be checked for the XdndAware property rather than the target window directly. c3f9de62966d32d8e33d62eb374fe2657a4cfebe introduced the mistake. In the old code the proxy window was used. Change-Id: I83b66d4b1f08a1f44d5c1451d0f1735c084bcf09 Spotted-by: Alexander Smirnov Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | xcb: fix coordinates of touch pointsAlexander Volkov2014-09-051-1/+1
| | | | | | | | | | | | | | | | Fix conversion from FP1616 to qreal. Use 16-bit mask 0xFFFF instead of 8-bit mask 0xFF. Change-Id: I0ee39b2e298b7ff7d7a67981925374d6a18f1474 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Prevent current context from becoming inconsistent upon create()Laszlo Agocs2014-09-011-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform plugins have a tendency to make the newly created native context current with a temporary surface. This is usually needed to query some information related to the new context. Afterwards most of them just reset to having nothing current. This has two issues: It unexpectedly changes the current context/surface. A call into QOpenGLContext::create() does not imply that the current context will get changed. This is the minor issue and we could probably live with it (at least if it had been documented). However, the real issue is that QOpenGLContext::currentContext() will become inconsistent: it will still report whatever was current before the create() even though on the EGL/WGL/GLX level that's not the case anymore. To prevent all this confusion the platform plugins can easily be changed to restore whatever context/surface was current before they altered it. Change-Id: I6a5b4597c86571327524ddb13e0d02538593cc7b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Avoid crash if querying device that has gone awayAllan Sandfeld Jensen2014-08-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | A device removed very fast after being inserted might disappear while we are still seting it up. We must therefore check if we indeed still get a matching device Task-number: QTBUG-40820 Change-Id: I4372fb1932264e5799f37cea0d016795e28ebed6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | standardize QPA input event logging category hierarchyShawn Rutledge2014-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | If qtlogging.ini contains a rule qt.qpa.input*=true then all available input event logging will be enabled on any platform. There are more specific categories for touch, tablet, gestures, input methods etc. on some platforms. Change-Id: I8754ce23df8f0b750a4b7dfcf3afe5bab800ead8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | xcb: set up touch devices even if debug is not turned onShawn Rutledge2014-08-212-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | 59ba84d31cf17d86e615e2958fece6f6e0bbefe2 introduced a mistake. It's necessary to populate the device data structure even if we are not going to log anything. Now the accessor is renamed to touchDeviceForId and the struct is renamed to XInput2TouchDeviceData to make it more clear that it is only for touch devices. Change-Id: Iaa3cce2d6cae250318f5a200becb9de9626b6437 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | devicePixelRatio support for XCBPaul Olav Tvete2014-08-198-72/+173
| | | | | | | | | | | | | | | | | | | | This adds support for the environment variable QT_DEVICE_PIXEL_RATIO for the xcb platform plugin. Task-number: QTBUG-38858 Change-Id: I7faca2f2e7dc5c601a82b3cc08456870b3e5602d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | xcb XInput: use categorized logging for devices and eventsShawn Rutledge2014-08-183-56/+60
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Platform Specific Changes][X11 / XCB] environment variables QT_XCB_DEBUG_XINPUT and QT_XCB_DEBUG_XINPUT_DEVICES are deprecated and replaced with logging categories qt.qpa.events.input and qt.qpa.devices respectively Change-Id: I287a56de5cb9ece2ac14df6510b9aa52c864c99b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Support antialias and rgba Xft settings as used by GNOME and UNITYAllan Sandfeld Jensen2014-08-184-28/+71
| | | | | | | | | | | | | | | | | | We only parsed the hintstyle from the Xft settings. This patch adds parsing for also subpixel style and disabling antialiasing. Task-number: QTBUG-27106 Change-Id: Icdb88ccc10e50d76eb30a5b126bee7590e257022 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>