summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Make qWaitForWindowActive more robust"Ville Voutilainen2018-03-071-2/+2
| | | | | | | | | | | | This reverts commit 2eec3272c78a3af1e362906654aa6d50b33a4c50. The change to qWaitForWindowActive causes regressions in qtdeclarative, so we need a better fix for the problems we have with window waiting. Task-number: QTBUG-66866 Change-Id: I8300dabc870d6aeaa9ba6bfcf3d64146b13c1955 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Windows QPA: Fix scaling of tablet coordinates for High DPI scalingFriedemann Kleint2018-03-073-2/+16
| | | | | | | | | | Determine the virtual desktop geometry in native pixels from the QPlatformScreen siblings. Use the platform window to determine the local position. Task-number: QTBUG-36937 Change-Id: Ic250f1b41d8e74099558796112dbd70a7e1f6956 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Windows QPA: Fix sending of the mouse release in case of a DropFriedemann Kleint2018-03-071-1/+2
| | | | | | | | | | | | Use the new API of QWindowSystemInterface to send the release event which does not depend on the state of QGuiApplicationPrivate::mouse_buttons. Amends 1f6bd8bfb2206480ca5b5c267da38659e6cff20e. Task-number: QTBUG-66447 Change-Id: Iae889ea416b633c9307da9535dfb51ad1dbf288e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QHeaderView: fix inconsistent saved state, ignored during restoreDavid Faure2018-03-071-1/+5
| | | | | | | | | | | | | | The code that updates a section size must also update length, otherwise saveState can end up saving inconsistent state, and restoreState() goes to an early-return, not doing anything. The actual bug was fixed meanwhile because _q_sectionsChanged is called again, which recalculates length. I still see this only as a safety measure, every other code path that changes section sizes updates length right away. Change-Id: I6cc16261692d93b3640afafef600a5bdff8dca0c Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Check for WindowActivation capability instead of platformJohan Klokkhammer Helsing2018-03-062-1/+2
| | | | | | | | | | | Before running tests that depend on QWindow::requestActivate Gets rid of several Wayland platform checks in tst_QWindow. Change-Id: I7a5e029044a968dfcf87ecbb5105c01d52852d35 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* cocoa: add qCDebug in QNSview::scrollWheelShawn Rutledge2018-03-061-0/+1
| | | | | | | | | If you enable both qt.qpa.input.touch and qt.qpa.cocoa.mouse you can see the order and interleaving of the touch and scroll events. Task-number: QBUG-66329 Change-Id: I8e1a63e2958b85f7964bb597e49cf8529cb3f32e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* uic: Add the include for QIcon conditionallyJarek Kobus2018-03-062-7/+9
| | | | | | Task-number: QTBUG-66753 Change-Id: I31bd821396b59c8e83e19e02634cf1440a271215 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add WFD_DEVICE_CLIENT_TYPE attribute for INTEGRITY S820Am ADPKimmo Ollila2018-03-051-5/+19
| | | | | | | | | | | | | This is needed to be compatible with latest Qualcomm BSP releases. This patch also makes it possible to select HW layer via QT_OPENWFD_CLIENT_ID and QT_OPENWFD_PIPELINE_ID environment variables. Change-Id: Ie795b21afc61a1de7c1d0b52cdb30a754e3f8266 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 00f693d3e5046999270c92731e34a3e7fcd01c6b) Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Document QFont::PreferNoShaping as being since 5.10Sergio Martins2018-03-051-1/+1
| | | | | | | "since format" copied from QEvent's documentation. Change-Id: Ib11609cd11f9cb9906d947f46c2cd61c7abd853a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix docs of QTextDocument::find with regards to default case sensitivitySimon Hausmann2018-03-051-3/+3
| | | | | | | | | | The default value for a default constructed FindFlags QFlag is zero and FindCaseSensitively is 0x2. Therefore the default behavior for find() is case insensitive. Change-Id: Id3419c3562fc6170fdb281098a22dd8205603847 Task-number: QTBUG-62660 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove unused variableAndré Klitzing2018-03-051-1/+0
| | | | | | | Found by spotbugs. Change-Id: I0aa81e45ced0a995adb5e4a45be925e5ef219a77 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* moc: Don't error our when parsing "using namespace __identifier(...)"Andy Shaw2018-03-051-0/+3
| | | | | | | | | | This follows on from a2322519929bd36a90422dccc0310b8230729197 which covered a similar instance of this. As with that change, we should not abort the compilation, just ignore it. Task-number: QTBUG-63772 Change-Id: Ide958080a90f43ed19edd8a320e7d45de1c96821 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QHeaderView: make use of LayoutChangeHint in _q_sectionsChanged()Christian Ehrlicher2018-03-043-22/+61
| | | | | | | | | When _q_sectionsChanged() is called from e.g. QSortFilterProxyModel the LayoutChangeHint is set which can be used to avoid useless work in this function. Change-Id: I034db3fcc7a5f9ea7ebc0fa3ffd7429edb154eb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QHeaderView: fix indentation in setModel() and clear()Christian Ehrlicher2018-03-031-37/+37
| | | | | | | | | The indentation of large code blocks in setModel() and clear() are not correct. Needed for another change to avoid whitespace changeds in there. Change-Id: I620c8c5e83e98747f5c17469738722cf976fb467 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Avoid infinite recursive loopAndré Klitzing2018-03-031-1/+1
| | | | | | | | Looks like this should be "super." instead of "super_" Found by spotbugs. Change-Id: I83d096eee332361d62e783581bfa15017536081d Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QLocale: Update the system private on QLocale default constructor if neededAlbert Astals Cid2018-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first starting an Android app we have invocation order issue, to load the platform plugin we create the default QLocale (needed by the resource locator code to see if :/qt/etc/qt.conf exists) so when the android platform plugin loads and creates its own QSystemLocale, the QLocale defaultLocalePrivate is already created and pointing to globalLocaleData which means that systemData won't be called and thus the code that triggers the call to QLocalePrivate::updateSystemPrivate won't be called when calling QLocale(). I thought of two ways of fixing this, one was calling QLocalePrivate::updateSystemPrivatea() from the QAndroidSystemLocale constructor, but giving the responsibility to not break things to the plugin seems a little fragile, so making the check on QLocale() seems better. Without this patch an Android app doing QApplication app(argc, argv); qDebug() << QLocale().name(); qDebug() << QLocale().name(); qDebug() << QLocale::system().name(); qDebug() << QLocale().name(); would print "" "" "ca_ES" "ca_ES" now it correctly prints "ca_ES" the four times. Task-number: QTBUG-41385 Change-Id: I2cf419f59aa008fa3aca11295fe7d42c40bcc32e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Android: Close the DataOutputStream when we are finished with itAndy Shaw2018-03-021-1/+7
| | | | | | Task-number: QTBUG-66769 Change-Id: I93c49baa0ccab4f853402d9be675af1c50b2e0c1 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* JSON: remove braces from UUID text representationsThiago Macieira2018-03-021-0/+9
| | | | | | | | | [ChangeLog][QtCore][QJsonValue] fromVariant() conversion now converts from QUrl and QUuid using special encoding forms to ensure best JSON compatibility. Change-Id: I56b444f9d6274221a3b7fffd150cdc5ca1f87ff1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QJsonValue: use the fully-encoded form of a URL in fromVariant()Thiago Macieira2018-03-021-0/+11
| | | | | | | For compatibility with other parsers that may expect it to be so. Change-Id: I56b444f9d6274221a3b7fffd150cd66390f98fd5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add needsWorkaround for additional Adreno targetsHerman van Hazendonk2018-03-011-2/+6
| | | | | | | | | | | | | Seems this issue is still there with Adreno 5xx and 6xx is suspected to have it as well (no device to test though), so added both 5xx and 6xx to cover these. Updated 30x to 3xx in order to cover Adreno 320 and 330 as per https://en.wikipedia.org/wiki/Adreno. Amends 9ae028f507a22bd03c861e9d14c2efc4aa2efeda Task-number: QTBUG-66702 Change-Id: I6ce3f6499d3ff9da884be45039e5f5e0990f7e1f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* qtestlib: fix support for pressing multiple mouse buttonsGatis Paeglis2018-03-012-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a37785ec7638e7485112b87dd7e767881fecc114 went in, it become apparent that multi mouse button state handling in qtestlib is non-existent, for details see QTBUG-64030 and QTBUG-63786. What happened behind the scenes often was not what one would expect based on the provided QTest::mouse* input sequence - events went missing, incorrect events were generated, each subsequent test function started with a state set from the function that run earlier. It is easy to see how a minor change in one test could easily affect outcome of other tests. With a37785ec7638e7485112b87dd7e767881fecc114, Qt platform plugins are now responsible for sending explicit mouse button type and state information; qtestlib should take full responsibility now as well. But using the new API from a37785ec7 alone in qtestlib is not sufficient. We need to reset mouse state between each new test function run (we do this at function scope as that fits with the current qtestlib API user expectations). This patch implements the necessary reseting logic. Updated tst_qwindow.cpp::generatedMouseMove() to use QTest::mouse* APIs. That test requires pressing multiple buttons, it was not possible with QTest::mouse* APIs before this patch. Added an auto test for multiple mouse button pressing/release in tests/auto/testlib/selftests/mouse/. And few other tests which are currently QSKIP-ed, but should be considered when re-designing qtestlib APIs. Task-number: QTBUG-64030 Change-Id: I39fdcbc73a467a7463ce2aed622bf22484095635 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix QXcbScreen::format() when rgb-swap is neededAllan Sandfeld Jensen2018-03-011-1/+3
| | | | | | | | | QXcbScreen::format() was producing console warning and returning invalid format if rgb-swap was necessary. Let it match possibly reversed formats since the backing-store will swizzle it anyway. Change-Id: I6a53cb8ceda029e9d708d25ad635832f1163ffe7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* ToolTip/Windows: Fix wrong size when font is modified by widget stylesheetFriedemann Kleint2018-03-011-1/+11
| | | | | | | | | Factor out a function to calculate the size and update the size when a style sheet parent is set. Task-number: QTBUG-64550 Change-Id: I3afe997085eae3cd48b7fe0a4c98582a8f572260 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Windows QPA: Fix setting the separator property on native menusFriedemann Kleint2018-03-011-0/+7
| | | | | | | | Apply the setting in QWindowsMenuItem::setIsSeparator(). Task-number: QTBUG-66642 Change-Id: I023fe88bd85ad82cfb4a80418a892dcf21853ba5 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Find PCRE2 via pkgconfigR.J.V. Bertin2018-03-011-0/+1
| | | | | | | | | | | This avoids issues when using dependencies installed in a custom or dedicated $prefix, when PCRE2 is configured to install its headers in their own directory under instead of directly in $prefix/include. Task-number: QTBUG-66355 Change-Id: Ia99464820600282d61237e5bcff38101d2c9684b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QHeaderView: Fix crash in layout about to changeThorbjørn Lund Martsum2018-03-011-2/+4
| | | | | | | | | Before there was a risk looking up e.g index -1 if there were no visible sections in layoutAboutToChange. Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac Task-number: QTBUG-65478 Reviewed-by: David Faure <david.faure@kdab.com>
* windowsuiautomation: Lowercase windows header includesMartin Storsjö2018-03-012-2/+2
| | | | | | | | | This fixes cross compilation with mingw from a case sensitive filesystem. Change-Id: I0f5ba708b7138cae325ff564559d3e40eba4e714 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QHeaderView: skip dividing by 1, rather pointlessDavid Faure2018-02-281-1/+1
| | | | | Change-Id: I9a63810475d1f17d65e91c1f4d805a7e564ba686 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QMimeDatabase: fix regression in alias resolvingDavid Faure2018-02-281-2/+2
| | | | | | | | | | | | The refactoring to support multiple providers broke alias resolving (e.g. "text/directory" would be an invalid mimetype, instead of being resolved to "text/vcard"). The unittest didn't catch it because most of it was running with a single mime directory (and therefore a single provider, in the new model). Fixed by re-running a number of test methods once we have a second mime directory. Change-Id: Ib5da89ba79c11ed41813b2aff4bc71c30afcde7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update the Unicode BiDi algorithm to be compliant with Unicode 10Lars Knoll2018-02-282-522/+873
| | | | | | | | | | | | | | | | The UBA in Qt was out of date, implementing the spec from pre Unicode 6.3 days. It missed handling of directional isolates and paired brackets. This adds a completely new implementation of the UBA, that is compliant with Unicode 10. Added the test data from Unicode 10 to the qcomplextext auto test and ensure that we pass the test suite. Task-number: QTBUG-57743 Change-Id: Ie2d957bc9775d82f0a51d1c78dc6bd154f22847c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix ligature handling in QTextLine::cursorToX()Lars Knoll2018-02-281-1/+2
| | | | | | | | | | If the script item is rtl, we need to subtract the offset inside the ligature again, as the full width of the ligature would have already been added in the loop before. Change-Id: I544ac6fa19484b35335767e1ba1befc3dfa07693 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Warn the user when KVO-observing QCocoaNSWindowTor Arne Vestbø2018-02-281-0/+5
| | | | | | | | | | | | | | | | | | | We recreate the window of our QNSView in various situation such as changing the styleMask, which results in either a new QNSwindow or QNSpanel being set as the window of the view. KVO-observing the window property of the view will fail we then have a new window instance, and will crash when trying to remove the observer from the new window. Unfortunately catching the NSRangeException that happens when removing an observer from a 'switched' window is not possible, so the user is left with: Terminating app due to uncaught exception 'NSRangeException', reason: Cannot remove an observer <Foo 0xabc> for the key path "bar" from <QNSPanel 0xdef> because it is not registered as an observer. Change-Id: Ib2adbb99f19303a054fb1eb65e959aecd32b1162 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Doc: Add doc for QSKIPNico Vertriest2018-02-282-0/+113
| | | | | Change-Id: Ib8cd1b4926652984b41b5a05bf4dbf3214f2856f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Silence a GCC 8 warning in qpainterVille Voutilainen2018-02-281-2/+2
| | | | | | | | qtbase/src/gui/painting/qpainter.cpp:5625:68: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct QFixed’; use assignment or value-initialization instead [-Werror=class-memaccess] memset(advances.data(), 0, advances.size() * sizeof(QFixed)); Change-Id: I563b1b0c5dfaf381a9521bc9a4dc3197f0f38d11 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Silence a GCC 8 warning in qoutlinemapperVille Voutilainen2018-02-281-1/+1
| | | | | | | | | qtbase/src/gui/painting/qoutlinemapper.cpp: In member function ‘QT_FT_Outline* QOutlineMapper::convertPath(const QVectorPath&)’: qtbase/src/gui/painting/qoutlinemapper.cpp:182:76: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘class QPointF’ from an array of ‘const qreal’ {aka ‘const double’} [-Werror=class-memaccess] memcpy(m_elements.data(), path.points(), count* sizeof(QPointF)); Change-Id: Ieca99f0262c57e58adbcf48ac923ae11bd428b00 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Silence a GCC 8 warning in qringbufferVille Voutilainen2018-02-281-1/+1
| | | | | | | | | | | | | qtbase/src/corelib/tools/qvector.h:782:16: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class QRingChunk’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess] memmove(b + 1, b, (d->size - offset) * sizeof(T)); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../../include/QtCore/5.11.0/QtCore/private/qringbuffer_p.h:1, Change-Id: I6583241223fe3fc76c0b792779993a34aa9485fe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDate/Time,QTimeZone: Fix empty documentation section titlesFriedemann Kleint2018-02-272-5/+4
| | | | | Change-Id: I674c4bb1805a7f7bc95512b07b0278446ebe7772 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Silence a GCC 8 warning in qxcbnativeinterfaceVille Voutilainen2018-02-271-7/+7
| | | | | | | | qtbase/src/plugins/platforms/xcb/qxcbnativeinterface.cpp:309:65: error: cast between incompatible function types from ‘void (*)(const char*)’ to ‘QPlatformNativeInterface::NativeResourceForIntegrationFunction’ {aka ‘void* (*)()’} [-Werror=cast-function-type] return NativeResourceForIntegrationFunction(setStartupId); Change-Id: I83409b3a6cc67ccb4c9e91e592e6a01bb6ce45ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Silence a GCC 8 warning in evdevtabletVille Voutilainen2018-02-271-1/+1
| | | | | | | | qtbase/src/platformsupport/input/evdevtablet/qevdevtablethandler.cpp:85:36: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct QEvdevTabletData::<unnamed>’; use assignment or value-initialization instead [-Werror=class-memaccess] memset(&state, 0, sizeof(state)); Change-Id: I3b18ffa7fdf9c7aa1bd4977f12858fd1f176c020 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Make qWaitForWindowActive more robustVille Voutilainen2018-02-271-2/+2
| | | | | | | | | | | | Based on the information we got from Unity developers, we need to check for window's frame geometry to be set, not just window's position to be set. On various window managers, a window is 'ready' once the frame geometry is set. This fixes autotest flakiness of tests that use qWaitForWindowActive. Task-number: QTBUG-66216 Change-Id: Icb664e7b802b474919f3b058c00681574522ccbe Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Windows QPA: Ensure a mouse release event is sent after DnDFriedemann Kleint2018-02-261-1/+15
| | | | | | | | | | Windows does not send a mouse release by itself, which can leave Quick controls believing the mouse is still pressed. Synthesize an event. Task-number: QTBUG-66447 Change-Id: Ia865edddc0c77a1b42b9ad2c38323379e74b6704 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix compile with sanitize address & undefinedBogDan Vatra2018-02-261-1/+5
| | | | | | | | | | | On Debian 9, the sanitize library exports only dlopen symbol, but it doesn't export the other ones. We need to check all dl symbols that we use, otherwise "-ldl" will not be added to the libs list. Task-number: QTBUG-64864 Change-Id: I3e62b82985348c40b8b61302ba589d5564598e18 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Cocoa: Fix incorrect QSystemTrayIcon::geometry()Morten Johan Sørvig2018-02-261-3/+4
| | | | | | | | | | The coordinate conversion was wrong. Use QCocoaScreen::mapFromNative() instead. Task-number: QTBUG-53184 Change-Id: I50f18d68ba5d7e1cb5046523a608bfa2e076d7ea Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* xcb: simplify handling of keymap updatesGatis Paeglis2018-02-253-43/+41
| | | | | | | The old code was somewhat too scattered. Change-Id: Ib0445c66653f757ccac28778f34f4bcb5df49a70 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: cleanup TODOs for KeyboardLayoutChangeGatis Paeglis2018-02-252-18/+23
| | | | | Change-Id: I5d2207fdb21cbabb04460faf73c35275bc76b7b0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* xcb: minor refactoring in QXcbKeyboard::checkForLatinLayout()Gatis Paeglis2018-02-251-6/+6
| | | | | | | We don't need xkb state APIs to check for keys on first level. Change-Id: I728e6bfe09bce127ad8eae78ecee7cefd620f52e Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* xcb: remove X11 deps from QXcbKeyboard::checkForLatinLayout/lookupLatinKeysym()Gatis Paeglis2018-02-251-4/+4
| | | | | | | | | | This will allow us to reuse these functions on systems that do not rely on X11, but use libxkbcommon for handling keyboard input. Task-number: QTBUG-65503 Change-Id: I78034238771be96fbb38e8187801fefbee1a5fed Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* xcb: have a proper detection of key events originating from SendEventGatis Paeglis2018-02-252-47/+58
| | | | | | | | | | | This is a more correct fix for QTBUG-48795. The original fix was unnecessarily using non-XKB code path for updating state for all incoming key events. This would result in losing some valuable bits from xkb state. Task-number: QTBUG-48795 Change-Id: Ic4fb28b2d834272f1db2cbf5888cafb209707847 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* xcb: use keysym defs from xkbcommon, instead of X11 headersGatis Paeglis2018-02-251-590/+322
| | | | | | | | | | | | | | | | xkbcommon-keysyms.h is generated from X11 header files, so it contains all the same values. Removed all of #ifndef XK_* as those keysyms are present in xkbcommon-keysyms.h (checked the header from 0.4.1, the minimal required version). The same for XF86XK_* defines. This will allow to reuse some of this code on platforms that don't depend on X11, for details see QTBUG-65503. Task-number: QTBUG-65503 Change-Id: I68083e11cea1f29d775a6ed46503a06b04b9a05c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* xcb: minor cleanup in QXcbKeyboard::handleKeyEvent()v5.11.0-beta1Gatis Paeglis2018-02-241-15/+23
| | | | | | | | | | - Use smart pointer for handling xkb state. - Make it more clear (in the code and the comment) when a latin keysym is used. Change-Id: Iee8106c72177c22b1a8fe875027b1dda82196b36 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>