summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-144-140/+55
|\ | | | | | | Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf
| * QMYSQL: remove support for MySql 4.xChristian Ehrlicher2019-10-121-130/+26
| | | | | | | | | | | | | | | | | | | | | | MySql 5.0 was released 2005 so it's time to remove support for MySql 4.x 14 years later. [ChangeLog][QtSql][QMYSQL] Removed support for MySql < 5.0 since 5.0 was released 14 years ago. Change-Id: I45005accdffefbd9338ac0e710512a4c7ea8e09e Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-051-4/+4
| |\ | | | | | | | | | Change-Id: I554a2762890391b3b6013c8b82211a8386a4ced8
| | * Stop using QTime as a timer in QIBaseDriver::close()Shawn Rutledge2019-10-031-4/+4
| | | | | | | | | | | | | | | | | | | | | This is probably still the wrong thing to do here, though. Change-Id: I4ff76393dde0b9ad9eb4a5e0d35fb6125d141901 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-041-1/+3
| |\| | | | | | | | | | Change-Id: I43393cf47675fd6c14972df1221986335c6f493c
| | * PSQL: don't recreate QSqlField in loop in QPSQLResult::record()Christian Ehrlicher2019-10-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move out the QSqlField variable out of the loop to avoid useless (de)allocations of QSqlField. Change-Id: I2c9e4c84f75e994d5eb1438839d502f6da531841 Reviewed-by: Robert Szefner <robertsz27@interia.pl> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | QSqlDriver: deprecate one-arg notification() signalChristian Ehrlicher2019-09-213-0/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | QSqlDriver::notifcation() signal is available in two versions since Qt4 times. They are both emitted in the corresponding places which is useless. Therefore deprecate the one-arg version. [ChangeLog][QtSql][QSqlDriver] The one-arg version of QSqlDriver::notifcation() is now deprecated. Change-Id: Ie09aa0cc952f4d854c6fb617b37b9047a3194ee3 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * QPSQL: Fix crash when a prepared statement is deleted after the db was removedChristian Ehrlicher2019-09-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | When a prepared statement is still alive after the database was removed with QSqlDatabase::removeDatabase(), the cleanup routine is trying to access the driver which is no longer alive which results in a crash. Fix it by checking if the driver is still alive similar to 5f66486cc254e1483f776d3058f96db493fd26e5. Fixes: QTBUG-43889 Change-Id: Ib466a76d014e32c055d203bda15b075ad3dff3d9 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
* | Regenerate qtbase after wip/qt6 -> wip/cmake mergeAlexandru Croitor2019-10-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that android builds will be broken after this merge and regeneration, because we don't currently handle the minimum required changes that were brought in with the Android multi ABI support that comes from 5.14. This will have to be addressed in a separate change. For now the build on Android will fail while compiling due to incorrect generation of LIB_SUFFIX with QT_ARCH. Change-Id: Ia4a871f4b7ddd0da11caf5f34e10a599a97bb55d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | Regenerate sqldrivers pluginsAlexandru Croitor2019-10-0811-24/+196
| | | | | | | | | | | | Change-Id: I583b5936205495813cdb0f04fcdd2da3c7e2a3f4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | cmake: Add missing CLASS_NAMEAlbert Astals Cid2019-10-032-0/+2
| | | | | | | | | | | | Change-Id: I5853578f427ae1d1b32ee5405694c216e2dd17cf Reviewed-by: Qt CMake Build Bot Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | cmake: Enable building of the oci pluginVille Voutilainen2019-09-053-3/+39
| | | | | | | | | | | | Change-Id: I003d6da10c7e47402fb373d3956817817328cf0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* | cmake: Enable building of the db2 pluginVille Voutilainen2019-09-043-2/+38
| | | | | | | | | | | | Change-Id: I26810cccba5f3128cb47e0bf53b5ec78de2eec8c Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Enable building of the mysql pluginVille Voutilainen2019-09-023-2/+30
| | | | | | | | | | | | Change-Id: I8cb97afaaed46ee64b5a133e797179d7ddecdeef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge branch 'wip/qt6' into wip/cmakeAlexandru Croitor2019-08-153-4/+4
|\| | | | | | | Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
| * Port from QStringViewLiteral to u""Marc Mutz2019-07-293-4/+4
| | | | | | | | | | | | | | | | | | Now that all our supported compilers know char16_t, we no longer need QStringViewLiteral, whose only purpose in life was to turn u"" into L"" for MSVC < 2015. Change-Id: I25a094fe7992d9d5dbeb4a524d9e99e043dcb8ce Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Add some missing CLASS_NAME values to pluginsAlexandru Croitor2019-07-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This substantially decreases the number of warnings when doing a Qt static build with examples. This is a quickfix modifying the relevant files directly. A proper fix will follow that regenerates the whole files. Change-Id: I2a3cc2c4ea02b3412beb96f7b4be9d43365a460d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-06-032-3/+3
|\| | | | | | | Change-Id: Ide5b3408bfefca410323cf26b810b44c06d3a227
| * Use QStringView overloads of <QDate/Time>::toString()Marc Mutz2019-05-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | There are no QLatin1String overloads, so using QLatin1String as the format string produced a temporary QString. Use QStringViewLiteral instead. Change-Id: I682eb8cfaa98fdcfb491edd290460db636a98a9f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-06-033-1/+2
|\| | | | | | | | | | | Take 5. Change-Id: Ifb2d20e95ba824e45e667fba6c2ba45389991cc3
| * QtSql: mark QSqlite2 plugin as obsoleteChristian Ehrlicher2019-05-052-0/+2
| | | | | | | | | | | | | | | | | | | | | | Mark QSqlite2 plugin as obsolete so it can be removed with Qt6. The last sqlite2 release was 2005 so it's time to remove this plugin in Qt6. [ChangeLog][QtSql][SQlite2] Marked QSQLITE2 plugin as obsolete - it will be removed with Qt6 together with the QTDS plugin Change-Id: I9861331d4eb2b13f38b9e0e09ad9472b70e9b6e2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * QRegExp include cleanupSamuel Gaist2019-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QRegExp includes can be found in several files where there's not even a use of the class. This patch aims to avoid needless includes as well as follow the "include only what you use" moto. This patch removes a QRegExp include from the QStringList header which means that there is likely going to be code breaking since QStringList is used in many places and would get QRegExp in. [ChangeLog][Potentially Source-Incompatible Changes] qstringlist.h no longer includes qregexp.h. Change-Id: I32847532f16e419d4cb735ddc11a26551127e923 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | CMake: Improve mapping of librariesTobias Hunger2019-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Merge all data related to mapping libraries into one data structure in helper.py. Use that data for everything related to library mapping. This change enables way more features now like e.g. adding find_package calls into generated files. Change-Id: Ibbd2a1063cbeb65277582d434a6a672d62fc170b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | CMake: configurejson2cmake: Do not generate useless OPTIONALsTobias Hunger2019-05-031-3/+0
| | | | | | | | | | | | | | | | | | | | Do not set properties of packages to type OPTIONAL. That is the default anyway. Update generator script and generated files. Change-Id: I7a4d043b69c93ce8c2929a2e27ac6a07e4e6d8cc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Write find_dependency() calls in Qt Module config filesAlexandru Croitor2019-05-023-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a new function called qt_find_package() which can take an extra option called PROVIDED_TARGETS, which associates targets with the package that defines those targets. This is done by setting the INTERFACE_QT_PACKAGE_NAME and INTERFACE_QT_PACKAGE_VERSION properties on the imported targets. This information allows us to generate appropriate find_dependency() calls in a module's Config file for third party libraries. For example when an application links against QtCore, it should also link against zlib and atomic libraries. In order to do that, the library locations first have to be found by CMake. This is achieved by embedding find_dependency(ZLIB) and find_dependency(Atomic) in Qt5CoreDependencies.cmake which is included by Qt5CoreConfig.cmake. The latter is picked up when an application project contains find_package(Qt5Core), and thus all linking dependencies are resolved. The information 'which package provides which targets' is contained in the python json2cmake conversion script. The generated output of the script contains qt_find_package() calls that represent that information. The Qt5CoreDependencies.cmake file and which which dependencies it contains is generated at the QtPostProcess stop. Note that for non-static Qt builds, we only need to propagate public 3rd party libraries. For static builds, we need all third party libraries. In order for the INTERFACE_QT_PACKAGE_NAME property to be read in any scope, the targets on which the property is set, have to be GLOBAL. Also for applications and other modules to find all required third party libraries, we have to install all our custom Find modules, and make sure they define INTERFACE IMPORTED libraries, and not just IMPORTED libraries. Change-Id: I694d6e32d05b96d5e241df0156fc79d0029426aa Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-169-232/+224
|\| | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-03-311-2/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/configure.json Change-Id: I93ac67f3bf4844bc7c691183e94bceb922b7b919
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-301-2/+2
| | |\ | | | | | | | | | | | | Change-Id: I9935bacae0d6ba532418fc3d28adbc7ca1463604
| | | * Do not look for pg_config, mysql_config in PATH when cross-compilingKai Koehne2019-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it can happen that we pick up the tool for the host system, which will break compilation. Users can still pass -psql_config /path/to/pg_config or -mysql_config /path/to/mysql_config manually. [ChangeLog][QtSql] When cross-compiling pg_config, mysql_config are not looked up in PATH anymore. Pass -psql_config path/to/pg_config or -mysql_config path/to/mysql_config to explicitly enable PSQL or MySQL in this setup. Fixes: QTBUG-73565 Change-Id: I35ff32322bac69f1575ce6c846a56ac2ae3b8d55 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | Merge "Merge remote-tracking branch 'origin/5.13' into dev" into ↵Liang Qi2019-03-152-58/+61
| |\| | | | | | | | | | | | | | refs/staging/dev
| | * | QPSQL: Use nullptr for pointersRobert Szefner2019-03-131-7/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I2b61cf0b81550c0878b0f06488a933c4b14e4728 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
| | * | QPSQL: Fix code formattingRobert Szefner2019-03-132-33/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only whitespace changes. Change-Id: I474aa1b477be7081b58bd781417861878b207f4e Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
| | * | QPSQL: Use qstrtod() function for string to double conversionRobert Szefner2019-03-111-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A change to qstrtod() will give us a small performance improvement. Because the qstrtod() function does not correctly parse the NaN values, an appropriate check condition for NaN has been added. Also changed code structure so now the double conversion function is called only in one place. Task-number: QTBUG-65748 Change-Id: I49d40e5157e79cc5fce35db4c4272d1ccd270c6b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | | More nullptr usage in headersKevin Funk2019-03-142-4/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Diff generated by running clang-tidy's modernize-use-nullptr checker on the CMake-based Qt version. Skipping src/3rdparty, examples/, tests/ Change-Id: Ib182074e2e2fd52f63093f73b3e2e4c0cb7af188 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Always escape the table names when creating the SQL statementAndy Shaw2019-01-232-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since some databases are case sensitive if part of the query is quoted, then we should ensure that all instances of the table name are escaped unless the test is delibrately testing the non-escaped case. As a result, this commit also removes some expected failures pertaining to PostgreSQL and also adds an entry to the list of tables being dropped when a test is finished. [ChangeLog][Sql][PostgreSQL] QSqlDatabase is now stricter about table names when used with record() and primaryIndex(). If the tablename was not quoted when it was created, then the table name passed to record() and primaryIndex() needs to be in lower case so that PostgreSQL is able to find it. Fixes: QTBUG-65788 Change-Id: Id1f54cb66b761c39edf858501b730ede7eec1fd3 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | QSQL: cleanup/modernize PostgreSQL pluginChristian Ehrlicher2019-01-093-85/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup/modernize the PostgreSQL plugin - use nullptr - use range-based for loop - use QStringLiteral or QByteArray::fromRawData instead QLatin1String/QString::fromLatin1 where possible - use QRegularExpression instead QRegExp - use QQueue instead QList - uppercase SQL keywords Change-Id: Ie22be1538328ff1e2b663066ede96741d271e050 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-044-22/+20
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also blacklist tst_QRawFont::unsupportedWritingSystem() and tst_QGlyphRun::mixedScripts() on windows for now. Conflicts: qmake/generators/makefile.cpp src/corelib/itemmodels/qstringlistmodel.cpp src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp tests/auto/gui/text/qglyphrun/BLACKLIST tests/auto/gui/text/qrawfont/BLACKLIST Task-number: QTBUG-72836 Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
| | * QSQL: add support for PostgreSQL 11Christian Ehrlicher2018-12-202-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for PostgreSQL 11 by adding QPSQLDriver::Version11 and use it in qMakePSQLVersion(). [ChangeLog][QSQL][PostgreSQL] Added support for PostgreSQL 11 Fixes: QTBUG-71642 Change-Id: Ie3cd3a81fd00084b587457b91b4e92c2e7001172 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Robert Szefner <robertsz27@interia.pl>
| | * configure: verify header presence against sourcesOswald Buddenhagen2018-12-142-21/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in addition to the actual library resolution, also resolve the headers belonging to the library, to validate the include path, and possibly ensure that the right version of the library is present. the "include" entries were moved out of the "test" objects, and renamed to "headers". this cleanly permits libraries without compile tests. the headers were not put into the sources, because the variance among the includes is generally orthogonal to the variance among the libraries. note that this - like the library resolution - provides no support for darwin frameworks. consequently, the opengl libraries are excluded from the conversion on darwin. similarly, wasm is excluded (centrally), because emcc is magic and would need advanced wizardry to be dealt with. Change-Id: Ib390c75371efa2badcfec9b74274047ce67c3e5a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | Fix a couple of unused QStringsSergio Martins2018-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so we can add Q_WARN_UNUSED to QString. The xcb one might even be a bug. Change-Id: Ia2d2563bdd10aa747014410df4990597969f4634 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | MySQL: Free the results when QSqlQuery::finished() is calledDaniel Vrátil2018-12-061-0/+10
| |/ | | | | | | | | | | | | | | | | | | | | Calling mysql_stmt_free_result() frees the results of the last executed query while keeping the prepared statement valid. This allows to keep around prepared QSqlQueries without the overhead of keeping all the results in memory. Change-Id: I4589e90857cc4e9a6f9612799bfca967a67e2ab2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * configure: actually resolve libraries into full filepathsOswald Buddenhagen2018-12-031-32/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this considerably speeds up failures, as no doomed build is attempted, and produces more reliable results, as no second lookup (which would be subject to environment changes) is done any more during the build. in principle, this also opens up possibilities like selecting specific variants of dependencies, automatically extracting rpaths, etc. qt_helper_lib.prf also needs to create fully resolved library names now. Change-Id: I65f13564b635433030e40fa017427bbc72d1c130 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-11-091-9/+11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake/Makefile.unix src/gui/text/qtextdocument.cpp src/gui/text/qtextdocument.h Change-Id: Iba26da0ecbf2aa4ff4b956391cfb373f977f88c9
| | * Modernize the "textcodec" featureLiang Qi2018-11-071-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also clean up QTextCodec usage in qmake build and some includes of qtextcodec.h. Change-Id: I0475b82690024054add4e85a8724c8ea3adcf62a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | CMake: Re-generate plugins/sqldrivers/sqliteTobias Hunger2019-04-031-6/+13
| | | | | | | | | | | | | | | | | | Change-Id: I795c9d6045eb34e9d517cf25337b4e31d3ad0284 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | CMake: Re-generate plugins/sqldrivers/odbcTobias Hunger2019-03-291-7/+8
| | | | | | | | | | | | | | | Change-Id: I95184ab2202f2fd1d87a7182303549557a6cdd87 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | | CMake: Re-generate plugins/sqldrivers/psqlTobias Hunger2019-03-291-7/+8
| | | | | | | | | | | | | | | Change-Id: If02ae8f616600d49cbbcd2aee298395d03b68a8f Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | | Fix Windows buildAlexandru Croitor2019-03-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix qmake build - Fix QtNetwork moc-ing, by including the moc files inside the cpp files - Fix sql odbc plugin by including QT_PLUGIN define - Fix Boostrap to link against the Platform target, to get the correct Unicode and WIN64 defines. - Fix vulkan headers to be found - Fix freetype bzip and png unresolved symbols / linker issues when building minimal platform plugin (also need to make sure to use the vcpkg toolchain instead of CMAKE_PREFIX_PATH because then find_package is overridden, which does magic to properly propagate static library dependencies). - Fix qfilesystementry test not to be built without private tests feature (it led to undefined symbols issues). - Make sure to remove QT_NO_CAST_TO_ASCII define when building QtCore, so that the qstringbuilder3 test builds successfully. Task-number: QTBUG-74140 Change-Id: I353d08392b604d55f8e62cdd8696d1e19a3c084a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | cmake: Find and build odbc pluginAlbert Astals Cid2019-02-123-2/+36
| | | | | | | | | | | | | | | Change-Id: I479d2b1cc897f601ef68b10272c9396e52228201 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | cmake: Find and build psql pluginAlbert Astals Cid2019-02-123-2/+31
| | | | | | | | | | | | | | | Change-Id: I8cbc8ab0061f67824d78198cbb926f0625fc7e41 Reviewed-by: Liang Qi <liang.qi@qt.io>