summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/connman
Commit message (Collapse)AuthorAgeFilesLines
* Regenerate projects to correctly handle private dependenciesAlexandru Croitor2020-02-051-5/+2
| | | | | | | Change-Id: I7d84bc9962bff5c89a90367ae704974c6ce2ec89 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Regenerate plugin projects to get new target namesAlexandru Croitor2020-01-272-6/+7
| | | | | | | | | And also to get the original output names (qmake's "TARGET"), so that the plugin file names are as they were in Qt 5. Change-Id: I96a060d1a81693652847857372bec334728cb549 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Revert "Revert "Fix static linking when using bearer plugins""Alexandru Croitor2019-12-191-1/+0
| | | | | | | | | | | | The missing commit is in wip/cmake, so it should be safe to reactivate the plugins again. This reverts commit f2c57e83ab21f5f5ad01f309643821a8851493b5. Change-Id: I1a95dac3008674f8baf009cf5556a313cae3d8b3 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Post merge fixesLeander Beernaert2019-11-252-2/+4
| | | | | Change-Id: I78d3c9687f99c0a32da04257e297e88ef0b02581 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeLeander Beernaert2019-11-192-4/+2
|\ | | | | | | Change-Id: Ifecc2d9db396d783124df8567553ba5f846f30bb
| * Fix static linking when bearer management plugins are built, part 2Simon Hausmann2019-10-242-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | After commit 5f160a3699d80d1736f691ad9ef774eb6aa28079 moved the code that's shared across all bearer management plugins into QtNetwork, there is one piece of code remaining that's shared across the connman and the networkmanager bearer plugin: The dbus ofono interface code. To avoid linking that twice (and causing duplicate symbol errors), this patch moves it into a static platform support library. This way for shared builds the code is included twice, but for static builds only once. Change-Id: Idf5414bc22fea45f11c600f28eaea91bb4dc6308 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Regenerate src/*Alexandru Croitor2019-11-142-2/+2
| | | | | | | | | | | | Change-Id: I0314b4faa1e4860e86198eea4189987e527dfec2 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate qtbase tests and src/* for some small fixesAlexandru Croitor2019-11-131-1/+0
| | | | | | | | | | | | Change-Id: I049829492971875a5c5ff159104707d9e2ad1e46 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Revert "Fix static linking when using bearer plugins"Alexandru Croitor2019-11-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the first patch that was required to fix duplicate symbols errors was merged from dev to wip/cmake, the second one 7a605edc226d4051602e157fe575f17dfaac0964 is not yet merged. So revert the revert to temporarily fix static builds until we do another merge from dev to wip/cmake. This reverts commit 307cd64c5726f93dbc91cafbce986875a6cce3e1 Task-number: Fixes: QTBUG-79211 Change-Id: I72052513fc0e0183b3ce8270b4ce3f2ff44b664d Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate everything under ./srcAlexandru Croitor2019-11-121-1/+0
| | | | | | | | | | | | | | Change-Id: Ibdbdc17f8c2ee41356f490dd839a47e1bcf4c586 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | Fix static linking when using bearer pluginsAlexandru Croitor2019-11-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that 5f160a3699d80d1736f691ad9ef774eb6aa28079 is merged to wip/cmake, we should be able to remove the previous workaround of not linking in the bearer plugins. Reverts 78b89547ad00153a8e02553a2e87d45415bd2314. Fixes: QTBUG-79211 Change-Id: Iaa6633bd74d51ceeed9fa1ffb536445ef817764b Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Temporarily disable automatic static linking of bearer pluginsAlexandru Croitor2019-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | The bearer plugins cause duplicate symbol errors when linking executables in a static build. Re-apply commit b2662b05dd078c46b82f5f041f51b0b83554113d Task-number: QTBUG-79211 Change-Id: Ie4c1359f1f4d649a22570a31634c94fd22102730 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Re-generate affected cmake files and configure.json after the mergeSimon Hausmann2019-10-172-3/+25
| | | | | | | | | | | | | | | | | | This also removes the workarounds of commit b2662b05dd078c46b82f5f041f51b0b83554113d now that it's fixed "upstream" in the .pro files. Change-Id: Idd5e6273873a700fcda5a6cad2039c4e88b61f6f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/dev' into wip/cmakeSimon Hausmann2019-10-173-7/+4
|\| | | | | | | Change-Id: Ia1da879a7bd8f71a649661a1844144dd67d60b3a
| * Fix static linking when bearer management plugins are builtSimon Hausmann2019-10-153-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The bearer plugins include copies of moc generated code that results in duplicate symbols when static linking pulls in multiple bearer plugins. Instead of relying on toolchain defined behavior, this patch moves the code that is shared into the shared library as private API. This way it will exist only once in memory and once at link time, resulting no linking errors about duplicate symbols. Fixes: QTBUG-79211 Change-Id: Iafa45c234e7fdd998971fc9cb7116334d08907bc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Temporarily disable automatic static linking of bearer pluginsAlexandru Croitor2019-10-141-0/+1
| | | | | | | | | | | | | | | | | | The bearer plugins cause duplicate symbol errors when linking executables in a static build. Task-number: QTBUG-79211 Change-Id: I9f6399bd803c154c07b096b0df1be864816f863e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-10-112-29/+25
|\| | | | | | | Change-Id: I3a1d7673c3c20019ab12a2ea0a60f1619920a34c
| * Short live qt_unique_lock/qt_scoped_lock! (until C++17)Marc Mutz2019-08-131-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that QRecursiveMutex is getting split off of QMutex, QMutexLocker will stop working on QRecursiveMutex once the split has been finalized in Qt 6. Even today, QMutexLocker contains casts from QBasicMutex to QMutex that some reviewers are uncomfortable with. One way to carry QMutexLocker forward is to template it on the mutex type, possibly with aliases like QBasicMutexLocker and QRecursiveMutexLocker. C++17 code would then not require a port, thanks to CTAD. But we have the problem now, and we can't template QMutexLocker in Qt 5. The alternative is to look at std and realize that they have surpassed QMutexLocker in expressiveness already. A scoped_lock cannot be unlocked again, a unique_lock can be moved around. QMutexLocker doesn't do either. The only "problem" is that the std lock classes are already templates, but we can't, yet, rely on C++17 CTAD to make them look as if they weren't. So, prepare for a future with C++17 CTAD by writing factory functions, qt_scoped_lock and qt_unique_lock, which will later port mechanically to their C++17 equivalents (mostly). The functions are added to a new private qlocking_p.h becauee we don't want to make them public. These are for use in Qt's own implementation, or for users that don't care about compatibility and will not mind them to be removed once we depend on C++17. Originally, I planned to use qmutex_p.h instead, but that header is not self-contained and causes build errors when we started to include it into libraries other than QtCore. Regarding the return value of qt_scoped_lock: Ideally, we'd like to return a std::scoped_lock, but two things stand in the way: First, scoped_lock was only added in C++17 (we fall back to lock_guard if scoped_lock is not available). Second, returning one from a function requires C++17 guaranteed copy elision, because neither scoped_lock not lock_guard have a copy ctor. In order for code not to come to depend on a particular lock class, we return any of lock_guard, unique_lock or scoped_guard, depending on what the compiler supports, and therefore wrap the functions in the unnamed namespace to avoid running into ODR if (private) headers are used from different projects (autotests, e.g.). By the time we can drop them, however, qt_*_lock will be semantically 100% identical to their replacements. Port some initial users. Change-Id: I2a208ef2a4a533ee8e675812273986460e6b4d00 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Port users of QDBusAbstractInterface::(async)callWithArgumentList() to new ↵Marc Mutz2019-08-071-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | variadic (async)Call() Except in the auto-generated files. Required to add a cast operator from QDBusObjectPath to QVariant, as the variadic call() uses QVariant(arg) instead of QVariant::fromValue(arg). [ChangeLog][QtDBus][QDBusObjectPath] Added explicit cast operator to QVariant. Change-Id: I3f3004f7b9300a6340d27488f5b97981cbab3c24 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Regenerate plugins bearer and imageformats projectsAlexandru Croitor2019-10-081-1/+0
| | | | | | | | | | | | Change-Id: I8858aaf6b96ea030a3af143099aee5dfd15655c8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* | cmake: Add missing CLASS_NAMEAlbert Astals Cid2019-10-031-0/+1
| | | | | | | | | | | | Change-Id: I5853578f427ae1d1b32ee5405694c216e2dd17cf Reviewed-by: Qt CMake Build Bot Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | CMake: Regenerate src/plugins/bearerTobias Hunger2019-05-061-2/+4
| | | | | | | | | | Change-Id: I6c900247eb03b8afc3f299b5dbca5bac64527a52 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge commit 'dev' into 'wip/cmake-merge'Tobias Hunger2019-04-163-5/+5
|\| | | | | | | Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
| * 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>
| * Normalize some SIGNAL/SLOT signaturesJoerg Bornemann2019-02-061-1/+1
| | | | | | | | | | | | | | ...for a minor performance gain. Change-Id: I4bef867055e069926fdc24fa98a6f94b6a0630e2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | CMake: Re-generate plugins/bearer/connmanTobias Hunger2019-03-291-4/+6
| | | | | | | | | | Change-Id: I68f81b269573e2beaa7fce33adee9c090fae318a Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | cmake: build the connman bearer pluginAlbert Astals Cid2019-02-121-0/+23
|/ | | | | Change-Id: I034ac995e231e7ad380ca9680e72037a573a1003 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix scan reply dbus signature in connman bearer backendLorn Potter2017-12-191-1/+1
| | | | | | | Task-number: QTBUG-57844 Change-Id: I1f3035f32d213ec6da95650a946c17c64becf549 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Replace PKGCONFIG+=foo usages with QMAKE_USELars Knoll2016-10-261-1/+0
| | | | | | | | replace explicit pkg-config uses with the results of configure tests, for consistency. Change-Id: I3587db6085798ea7a49f8871fc6838eb687a6391 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-221-0/+2
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/qiosviewcontroller.mm Change-Id: I2dda31867cbc79ea7fe965f52afb518aefa4ad20
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-211-0/+2
| |\ | | | | | | | | | Change-Id: I9cfefaf22b010fca937be77979f5fb50574bb71e
| | * Bearer/ConnMan: Fix getTechnologies() is not calledTakumi ASAKI2016-09-211-0/+2
| | | | | | | | | | | | | | | Change-Id: I4e39c971198583af815f5bcecaad4a9c52e5d2dd Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | | bearer plugins: eradicate Java-style iterators and Q_FOREACHMarc Mutz2016-09-022-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the simple part of the job, removing Q_FOREACH loops which are obviously safe to be replaced by C++11 range-for. In QNetworkManagerEngine::sessionStateForId(), instead of iterating over QHash::keys(), iterate over the QHash directly (using C++11 range-for, as we're only using the values, not the keys). In QNetworkManagerEngine::connectToId(), simplify the loop body by merging three identical if blocks into one. Saves ~1.7KiB accumulated over the three Linux bearer plugins: connman, generic, nm (optimized GCC 6.1 Linux AMD64 build). Change-Id: Ic66139c25f7e2173f5a919927e269b873334d2c8 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | | Standardize some "We mean it" commentsFriedemann Kleint2016-08-171-3/+3
|/ / | | | | | | | | | | | | Fix the occurrences where the wrong classes are mentioned. Change-Id: Ia291af77f0f454a39cab93e7376a110c19a07771 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-264-10/+21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qtemporarydir.cpp One side encapsulated a repeated piece of #if-ery in a local define; the other added to the #if-ery. Made its addition to the other's. src/corelib/kernel/qeventdispatcher_unix_p.h One side moved some members into a struct; this collided with a #undef check that neither side now has. Discarded the #undef part. src/gui/opengl/qopengltexturehelper_p.h 5.7 deleted a bunch of methods; not clear why merge got confused. src/tools/moc/moc.cpp One added a name to the copyright header; another changed its URL. Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa
| * Bearer/Connman: emit missing updateCompleted()Takumi ASAKI2016-07-204-10/+21
| | | | | | | | | | | | | | | | | | | | | | emit missing updateCompleted() in some conditions after QNetworkConfigurationManager::updateConfigurations() is called. * There is no wifi devices. * The wifi device returns error when scan is called. Change-Id: I2668644249a0584bf43efea95348424aa64ab4a6 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-151-0/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakeevaluator.cpp One side changed the iterator to use ranged-for, the other changed its body; they only conflicted because the latter had to add braces around the body, intruding on the for-line. Trivial resolution. Change-Id: Ib487bc3bd6e3c5225db15f94b9a8f6caaa33456b
| * Bearer/ConnMan: Fix No such slotTakumi ASAKI2016-07-121-0/+1
| | | | | | | | | | Change-Id: Icf403b2e2e86d1cb58fd74c0df054bcc43cf9210 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Liang Qi2016-03-131-4/+3
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-111-4/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change partially reverts 1bfc7f68 about QT_HAS_BUILTIN define and undef in src/corelib/tools/qsimd_p.h. This change is also squashed with "Fall back to c++11 standard compiler flag for host builds" which is done by Peter Seiderer. Conflicts: mkspecs/features/default_post.prf src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch src/3rdparty/sqlite/sqlite3.c src/corelib/tools/qsimd_p.h src/gui/kernel/qevent.cpp src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface_p.h src/plugins/bearer/blackberry/blackberry.pro src/plugins/platforms/cocoa/qcocoasystemsettings.mm src/plugins/platformthemes/gtk2/gtk2.pro src/plugins/styles/bb10style/bb10style.pro src/sql/drivers/sqlite2/qsql_sqlite2.cpp tools/configure/configureapp.cpp Task-number: QTBUG-51644 Done-with: Peter Seiderer <ps.report@gmx.net> Change-Id: I6100d6ace31b2e8d41a95f0b5d5ebf8f1fd88b44
| | * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-03-071-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Icbce502dcbcb4d4b4d922c42679f44e2cc930bf3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | QtBase (remainder): use printf-style qWarning/qDebug where possible (I)Marc Mutz2016-03-121-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Had to fix broken qImDebug() definition. Instead of defining it as a nullary macro in the QT_NO_DEBUG case and as a variadic macro in the other, define it in both cases, as is customary, as a non-function macro so that overload selection works without requiring variadic macro support of the compiler. Saves e.g. ~250b in text size in QtPrintSupport on optimized GCC 5.3 AMD64 builds. Change-Id: Ie30fe2f7942115d5dbf99fff1750ae0d477c379f Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | bearer plugins: fix uses of inefficient QListsMarc Mutz2016-02-171-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | These types are larger than a void*, so holding them in QLists is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Fix by marking them movable, and holding in a QVector instead. Change-Id: I78774fc78d787241aaadc4f819b6d229e6200f46 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-155-70/+100
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Use const-ref in foreach if T is big or non-trivialSérgio Martins2015-07-041-5/+4
| | | | | | | | Criteria: Linux x86_64, sizeof(T) > 8 Change-Id: I78c2b776ff219fa1ff6632fde17ae25fae66c54e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use QList::reserve(), reduces reallocationsSérgio Martins2015-06-271-1/+3
| | | | | Change-Id: I9f218bdd65a97ad9c867b695f3ba27ab64a54d2a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Replace #ifdefs with qmake feature checks.Ulf Hermann2015-06-225-11/+0
| | | | | | | | This prevents the building of dysfunctional plugins that don't define a loader function, or won't compile at all. Change-Id: Ib62edb8db4a8917effa05292cb702bb4022f552c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-33/+33
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * Fix a crash in connman bearer backend on d'tor when using QStringLiteralLorn Potter2015-03-221-33/+33
| | | | | | | | | | | | Task-number: QTBUG-41507 Change-Id: I7711eb34bf9ca738fb25031acff3371a6126ae23 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* | Update copyright headersJani Heikkinen2015-02-115-35/+35
|/ | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>