summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-041-35/+24
|\ | | | | | | Change-Id: Ia7328524f2cd9d5995ac8705f0fe0bf570b2e831
| * Brush up and stabilize tst_QSizeGripFriedemann Kleint2019-04-031-35/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove unused dummyWidget and thus empty slots initTestCase(), cleanupTestCase(). - Add slot cleanup() checking for an empty top level widgets list and introduce QScopedPointer to ensure it passes. - Use QTRY_VERIFY in hideAndShowOnWindowStateChange(). Flakyness has been observed on openSUSE: FAIL! : tst_QSizeGrip::hideAndShowOnWindowStateChange(Qt::Window) '!sizeGrip->isVisible()' returned FALSE. () Loc: [tst_qsizegrip.cpp(126)] Change-Id: I340fc1892dc00bcff1985e5a8a1e535975736484 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-025-19/+100
|\| | | | | | | Change-Id: Ia5d893e57deb78bc32e2053a5a79543ff847fe32
| * Forward physical parameters for derived QImagesAlexander Volkov2019-04-011-0/+35
| | | | | | | | | | | | | | | | | | | | More specifically, for masks and rotated images. Add tests for it, also add tests that image metadata is forwarded for converted and copied images. Fixes: QTBUG-49259 Change-Id: I05d4a468b17f53a2625500b871c01b2c53b981a1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Forward devicePixelRatio in QPixmap::mask()Alexander Volkov2019-04-011-0/+34
| | | | | | | | | | | | | | | | Also add a test checking that devicePixelRatio is forwarded to derivatives of QPixmap. Change-Id: Idb2b3f033ccc0fd49bf54b11f5dffbce5a19b006 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * Refine underflow check in QLocaleData::convertDoubleToFloat()Edward Welbourne2019-04-011-15/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A string can parse as a non-zero double that's smaller than the smallest float yet be a faithful representation of the smallest float. So rather than testing for non-zero doubles less than the smallest float, test for non-zero doubles that cast to float zero; these underflow. This means small values close below the smallest float shall round up to it, rather than down to zero, requiring a tweak to an existing test. Added a test for the boundary case (and tidied the test data). Fixes: QTBUG-74833 Change-Id: I4cb30b3c0e54683574b98253505607caaf88fbfb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix assert/crash when creating QBrush with null QGradientEirik Aavitsland2019-04-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QBrush constructor taking a QGradient would assert or crash if passed a null (NoGradient) gradient. But it is not necessary for the API to be as brittle as that: instead the result can simply be a null QBrush object, i.e. the same as the default QBrush() constructor creates (style == NoBrush). This issue comes up now since with the recent introduction of QGradient presets, the API opens for using QGradient directly, whereas earlier, only the subclasses QLinearGradient etc. were to be used. Fixes: QTBUG-74648 Change-Id: I1a9b1c4654e4375aa6684700a262cc0946851448 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix installation of .pdb files for applications that have VERSION setJoerg Bornemann2019-03-311-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | For applications that set VERSION the installation targets of pdb files were wrong in qmake's nmake Makefile generator. Replace code that tries to reconstruct that target's versioned extension with TARGET_EXT which already contains the fully resolved target extension. Fixes: QTBUG-74265 Change-Id: I9553a5f70170e077a59c866079ae51647ae80bef Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-302-0/+5
|\| | | | | | | Change-Id: I9935bacae0d6ba532418fc3d28adbc7ca1463604
| * Blacklist the reverse lookup of 8.8.8.8 to unblock integrationsVolker Hilsheimer2019-03-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | The DNS entry for the host has changed, dig answers with dns.google, not with google-public-dns-a.google.com. While developing a proper fix to the test, blacklisting this particular lookup allows integrations to pass in the meantime. Change-Id: Id37da6b24554803bf4e2c84be5b949ded40566e8 Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Blacklist qgraphicsitem::sorting test on opensuse-42.3Kai Koehne2019-03-291-0/+3
| | | | | | | | | | | | Task-number: QTBUG-74760 Change-Id: I79bd58e6be61c59e0f1fa48dba0dee72e0a7e78c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Extend blacklistnig of tst_qwidgets to cover RHEL 7.6Tony Sarajärvi2019-03-291-0/+1
| | | | | | | | | | | | Task-number: QTBUG-46116 Change-Id: I7d74dca7030a9c21b3654e3b5cde94015497208e Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* | Remove blacklisting of tst_qsslsocket_onDemandCertificates_memberAllan Sandfeld Jensen2019-03-271-2/+0
| | | | | | | | | | | | | | | | It is constantly passing according to grafana. Change-Id: I4953cd54e27adde8dad79e9a0f025960802e6c7a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-274-5/+58
|\| | | | | | | Change-Id: Ia3591d7288bac3bf441f27e486d35e2c5c481993
| * tst_qmake: Add XFAILing testJoerg Bornemann2019-03-264-5/+58
| | | | | | | | | | | | Task-number: QTBUG-74265 Change-Id: I916eaf7b64a8777bf2523ddf9da65226d7d06417 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | QDoubleSpinBox: reset size hint when prefix is setChristian Ehrlicher2019-03-262-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | QDoubleSpinBox did not resize when setPrefix() was called because the cached size hint was not reset. Fix it by resetting the cached size hints and update the geometry the same way it's done for QSpinBox::setPrefix(). Fixes: QTBUG-74520 Change-Id: I6f42a24ab0a4ce987ecbe1505a634d929474436b Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Friedemann Kleint2019-03-2611-7/+166
|\| | | | | | | Change-Id: I71cc71881fb638e207d83a8733bad8f267701c0f
| * Network cache: Stop treating no-cache like no-storeMårten Nordheim2019-03-222-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In the QNetworkAccessManager machinery we would treat "no-cache" as if it meant "don't cache" while in reality it means "don't return these cached elements without making sure they're up-to-date" At the same time as this change is made let's add test data for "no-store", which replaces the "no-cache" test data. Fixes: QTBUG-71896 Change-Id: Ieda98f3982884ccc839cac2420c777968c786f6e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
| * QPixmap: More safe failing if qApp is not a QGuiApplicationAlbert Astals Cid2019-03-223-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that QDataStream is fed a QVariant that contains a QPixmap representation, that will make the application crash when trying to restore it This is specially important for cases in which applications expose dbus interfaces with QVariantMaps Change-Id: Ife4feaef30f30e7e27d88464bd6b2a247f743123 Reported-by: Fabian Vogt <fabian@ritter-vogt.de> Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix tree recursion in QAbstractItemModel::match()Friedemann Kleint2019-03-222-0/+40
| | | | | | | | | | | | | | | | | | Recurse down the sibling at column 0 of the index instead down the index. Change-Id: Ie78d8b28eab7438ca3f83ee0df177115ca82806e Fixes: QTBUG-73864 Reviewed-by: David Faure <david.faure@kdab.com>
| * Fix broken data for time-zones with no transitionsEdward Welbourne2019-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While an invalid time-zone shall have no transitions, so may various constant zones, like UTC. The TZ data may include only the POSIX rule for such a zone, in which case we should use it, even if there are no transitions. Broke out a piece of repeated code as a common method, in the process, since I was complicating it further. Added test for the case that revealed this; and made sure we see a warning if any of the checkOffset() tests gets skipped because its zone is unsupported. Fixes: QTBUG-74614 Change-Id: Ic8e039a2a9b3f4e0f567585682a94f4b494b558d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Silence QMainWindow testFriedemann Kleint2019-03-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Set object names on the widgets in restoreState(), fixing: QWARN : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QDockWidget 0x7ffcb45e5e00 '; QWARN : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QToolBar 0x7ffcb45e5dd0 '' QWARN : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QDockWidget 0x7ffcb45e5e00 '; QWARN : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QToolBar 0x7ffcb45e5dd0 '' Task-number: QTBUG-74242 Change-Id: I19f19e93de9df00d001b820a31836ce0b3cd2877 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Silence the item model testsFriedemann Kleint2019-03-214-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a logging category for the qDebug()-output. Add a meta type registration for QList<QPersistentModelIndex>, fixing numerous warnings like: WARN : tst_QItemModel::remove(QStandardItemModel:invalid start, valid count 5) QSignalSpy: Unable to handle parameter 'parents' of type 'QList<QPersistentModelIndex>' of method 'layoutChanged', use qRegisterMetaType to register it. Fix a Clang warning about potential misuse of operator , Task-number: QTBUG-73864 Change-Id: I60998403a44f5df8767926951ee13d1ed1e93c37 Reviewed-by: David Faure <david.faure@kdab.com>
* | Manual dialog test: Fix deprecation warningsFriedemann Kleint2019-03-222-3/+13
| | | | | | | | | | | | | | | | | | filedialogpanel.cpp:441:55: warning: 'bool QFileDialog::confirmOverwrite() const' is deprecated: Use !testOption(DontConfirmOverwrite) instead [-Wdeprecated-declarations] filedialogpanel.cpp:443:53: warning: 'bool QFileDialog::resolveSymlinks() const' is deprecated: Use !testOption(DontResolveSymlinks) instead [-Wdeprecated-declarations] printdialogpanel.cpp:708:62: warning: 'const QRect QDesktopWidget::availableGeometry(int) const' is deprecated: Use QGuiApplication::screens() [-Wdeprecated-declarations] Change-Id: I087615b7e62b5fc11ec1063590fe55b2615f95fd Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Extend blacklisting of tst_gestures from RHEL 7.4 to 7.6Tony Sarajärvi2019-03-211-0/+1
| | | | | | | | | | | | Task-number: QTBUG-52523 Change-Id: I726a17e30b47781c1a5385e6220cce88c5a6fe2d Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-214-19/+75
|\| | | | | | | Change-Id: Ie7f68dcd5650e0037b6c3313cc9ffdcd7c494fbe
| * tst_qmake: Keep the source dir cleanJoerg Bornemann2019-03-204-19/+75
| | | | | | | | | | | | | | | | | | Copy the test data into a temporary directory and do all the work there without tainting the source directory. More importantly, do not pull in any settings from the Qt build to test what actual users will encounter. Change-Id: I793b86bfadb7597efb47c8f2d3fc863384c78a79 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-204-0/+31
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformintegration.cpp src/gui/kernel/qplatformintegration.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/xcb/qxcbconnection_screens.cpp Change-Id: I15063d42e9a1e226d9d2d2d372f75141b84c5c1b
| * Use Q_UNUSED(updateRect) when building without QT_BUILD_INTERNALJesus Fernandez2019-03-181-0/+2
| | | | | | | | | | Change-Id: I3e5292bc09ae53bee5f8bb8c7c1922d1a20b2e10 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * Use High DPI pixmaps in prominent examples and testsFriedemann Kleint2019-03-151-0/+4
| | | | | | | | | | | | | | | | | | Set AA_UseHighDpiPixmaps. Task-number: QTBUG-52622 Change-Id: Ic4373a9c94952f50bc1ad36bcc0dec850efc124a Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-152-1/+21
| |\ | | | | | | | | | Change-Id: I5f9d8090a07056411fb65d7de60eb679d00e99a3
| | * Make tst_QUdpSocket::lincLocalIPv6 less sadisticTimur Pocheptsov2019-02-281-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It fails on CI (Windows 10). Given our qabstractsocket disables read notifications/stops emitting readyRead if it already has pending data (unbuffered, aka UDP socket type) - make sure we do not suffer from this. The change does not affect the test's logic (unless the logic was to fail), it just makes it more fail-proof. Change-Id: I6c9b7ded20478f675260872a2a7032b4f356f197 Fixes: QTBUG-73884 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit d3eb9e944ac73f238b8716bb25b8051377bba946) Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Fix blacklisting tst_QTimer::basic_chrono()Juha Karjalainen2019-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Blacklisting did not work as blacklist should have contained osx instead macos Change-Id: Ifd76a38d371ccce545eb5df030aaa819b00a5b48 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| | * Merge 5.12 into 5.12.2Kari Oikarinen2019-02-2060-126/+104
| | |\ | | | | | | | | | | | | Change-Id: I3a5721aebd3afd8fa08d3f3df6bf61502fa9c347
| | * | Avoid creating wide images with negative bytesPerLineAllan Sandfeld Jensen2019-02-141-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QImage API can not handle images with more bytes per line than what an integer can hold. Fixes: QTBUG-73731 Fixes: QTBUG-73732 Change-Id: Ieed6fec7645661fd58d8d25335f806faaa1bb3e9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Don't increase the size of the layout unnecessarily when moving toolbarsAndy Shaw2019-03-152-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the toolbar was moved from one position to another it could end up increasing the size of the saveState data due to extra lines. This removes any needless ones that should not be included. Change-Id: I1c5d094ae1405d6a82db5fcdc3cd081904706837 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-151-0/+1
|\| | | | | | | | | | | | | | | Change-Id: I2bf3b4ceb79364330eae4cbf3cdee9a82d1be46d
| * | | Fix compilation of qCDebug("", ...) with QT_NO_DEBUG_OUTPUTKai Koehne2019-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and fix QT_NO_INFO_OUTPUT, QT_NO_WARNING_OUTPUT alongside. Fixes: QTBUG-74359 Change-Id: I2167dc943ae8c52602e08e24ca815d95f82a5db8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Improve project files of libfuzzer testsRobert Loehning2019-03-133-5/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I7977beb1bbc142326a3cc48435b91ec7293e2cff Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-111-2/+2
|\| | | | | | | | | | | | | | | Change-Id: Iecdf00ca61d819bde532daa42f093860ec4a499e
| * | | Expand blacklisting of tst_qsslkey to cover all versions of RHELsTony Sarajärvi2019-03-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous blacklisting 5c4e5032b5162341168c1cec09f0247c7f2283e7 only covered RHEL 6.6 and RHEL 7.4. The problem however exists in all 6.x and 7.x distros as they have the same openssl. This however leaves us the problem with future RHEL 8. This will keep blacklisting these tests there as well. We need a way to blacklist versions with a wildcard so that we could say RHEL-7.* Task-number: QTBUG-46203 Change-Id: I2cc52ba2eac949214ecaa02e19d9e623d5befc49 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-096-3/+32
|\| | | | | | | | | | | | | | | Change-Id: Ica3f89ace33585ad7854417a328156f5a68e2a00
| * | | Do not mix QByteArray with QString in arithmeticEdward Welbourne2019-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLatin1String + QByteArray + QLatin1String + QString should not be supported. That the compiler let us get away with this is distressing. Exposed by Anton Kudryavtsev's workon extending QString's operator+ support. Change-Id: I0adfaa87e48335928acb680da49e9173639af614 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | manual tests: Fix buildFriedemann Kleint2019-03-072-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix QOverload<void>::of(), causing ../../../../include/QtCore/../../src/corelib/global/qglobal.h: In instantiation of ‘struct QConstOverload<void>’: Q_DECL_CONSTEXPR auto operator()(R (T::*ptr)(Args...) const) const Q_DECL_NOTHROW -> decltype(ptr) and add a missing .pro-file. Change-Id: I19597adc33f2323a9f7dea9ee5ce94546f0e8f12 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | | Fix some warnings in manual testsFriedemann Kleint2019-03-073-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: gestures.cpp:46:16: warning: this statement may fall through [-Wimplicit-fallthrough=] gestures.cpp:47:5: note: here gestures.cpp:48:9: warning: this statement may fall through [-Wimplicit-fallthrough=] gestures.cpp:52:5: note: here main.cpp: In function 'QByteArray windowsVersionToString(QSysInfo::WinVersion)': main.cpp:40:12: warning: enumeration value 'WV_CE' not handled in switch [-Wswitch] ... main.cpp: In function 'QByteArray macVersionToString(QSysInfo::MacVersion)': main.cpp:68:12: warning: enumeration value 'MV_10_12' not handled in switch [-Wswitch] ... widget.cpp: In member function 'CustomItem* Widget::checkedItem() const': widget.cpp:238:12: warning: 'item' may be used uninitialized in this function [-Wmaybe-uninitialized] Change-Id: I434784e86d127e56b92663cb45eba7d60d8f8eaf Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-03-063-38/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/http2/hpacktable_p.h Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
| * | | Hpack - fix the static lookupTimur Pocheptsov2019-03-041-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'accept' breaks the order, making the static table unsorted and thus std::lower_bound cannot find it and we always index it in a dynamic table. Also, make this static table accessible to auto-test. Plus fix some warnings quite annoyingly visible in qt-creator. Fixes: QTBUG-74161 Change-Id: I47410f2ef974ac92797c9804aa55cb5c36a436c4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * | | Fix build with -no-gui on macOSAlex Richardson2019-03-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some directories that depend on QtGui were being included without the appropriate check for qtHaveModule(gui). Change-Id: I7c348c74464d44cbd35a027f188f8a23bb2021d9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | Deprecation-fix: don't use QDir::operator=(const QString &)Edward Welbourne2019-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use setPath() instead, as advised in the deprecation warning. Change-Id: I2f22220885938808c8efb85720ad10f7e05801ff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | platforminputcontexts: use libxkbcommon compose key APIGatis Paeglis2019-03-013-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our implementation of compose table parser was added on Mar, 2013. libxkbcommon added APIs for the same thing in Oct, 2014 (ver: 0.5.0). After removing RHEL 6.6 from the list of supported platforms we were able to move the minimal required libxkbcommon version to 0.5.0. Now we can use the xkbcommon-compose APIs on all supported platforms. With this patch we can drop nearly 1000 lines of maintenance burden. This patch fixes user reported issues with our implementation. Known issues: - Testing revealed that xkbcommon-compose does not support non-utf8 locales, and that is by design - https://github.com/xkbcommon/libxkbcommon/issues/76 Our implementation did work for those locales too, but it is unclear if anyone actually uses non-utf8 locales. It is a corner case (work-arounds existing) and likely a configuration error on the users' system. - Looking at the release notes for versions above 0.6.1, only one issue that stands out. Compose input does not work on system with tr_TR.UTF-8 locale, fixed in 0.7.1. Compose input works fine when using e.g. en_US.UTF-8 locale with Turkish keyboard layout. Note: With Qt 5.13 we have removed Ubuntu 16.04 and openSUSE 42.3 from CI: Ubuntu 16.04 - 0.5.0 openSUSE 42.3 - 0.6.1 CI for Qt 5.13 has: Ubuntu 18.04 - 0.8.0 RHEL-7.4 - 0.7.1 openSUSE 15.0 - 0.8.1 Currently the minimal required libxkbcommon version in src/gui/configure.json is set to 0.5.0, but we could bump it to 0.7.1 to avoid known issues from above, but that is a decision for a separate patch. [ChangeLog][plugins][platforminputcontexts] Now using libxkbcommon-compose APIs for compose key input, instead of Qt's own implementation. Fixes: QTBUG-42181 Fixes: QTBUG-53663 Fixes: QTBUG-48657 Change-Id: I79aafe2bc601293844066e7e5f5eddd3719c6bba Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>