summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Change license header of uitools to LGPLv5.8.05.8.0Kai Koehne2017-01-023-9/+31
| | | | | | | | | uitools is a static library that user applications can link to, and should be under LGPLv3. Change-Id: I3a08162c0d029fc52cf13432907e297063d7a6ae Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Edit the Qt Help System overviewv5.8.0-rc1Leena Miettinen2016-12-141-35/+35
| | | | | | | | ... to fix typos, punctuation, articles, QDoc commands, and Qt writing style. Change-Id: I35334c8c108d7ab15bfe1a97e6ececb8cd4c8acd Reviewed-by: Martin Smith <martin.smith@qt.io>
* Add changes file for 5.8.0Jani Heikkinen2016-12-091-0/+41
| | | | | Change-Id: I6468b30b6dca4276298e452811ac141677bd6120 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove license acknowledgment for removed codeKai Koehne2016-12-091-40/+0
| | | | | | | | | The code in question was part of the 'Qt Designer Easteregg' removed ages ago. Change-Id: I80fc6e936dfa8f9ae3ada4a965efde11dea32d89 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix build after changes to QtQMLJoerg Bornemann2016-12-021-3/+28
| | | | | | | | | | | | This patch supports building against declarative before and after commit 6ed23b91b949b7edaf96cdb0f2bba7b21a02de89. A template specialization is used instead of a function overload to avoid the compiler warning about unused functions and aborting the build. This can be simplified once qt5.git has been updated with declarative to contain the aforementioned commit. Change-Id: I9a1afdbaa70b6478bc5f51a833913fdc6cea1858 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qtattributionscanner: Support optional QtParts propertyKai Koehne2016-11-288-4/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We'd like to differentiate between code that ends up in the Qt libraries or plugins, or code that only is added to examples, tests, or (host) tools. This can now be specified with the JSON property 'QtParts'. If 'QtParts' does not contain 'libs', the page will not show up in the list of attributions generated by module with e.g. \generatelist{groupsbymodule attributions-qtcore} nor in the global list generated by \generatelist annotatedattributions Instead, third party code in examples or tests can now be documented separately using e.g. \generatelist{groupsbymodule attributions-examples} and \annotatedlist attributions-examples Change-Id: Iba72f76b63e4435af54a61b7b4a2cf4617746ba6 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-264-20/+24
|\ | | | | | | Change-Id: I7d084d8f51a728f9a2521f89fd57ec604544169a
| * Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-243-20/+21
| |\ | | | | | | | | | Change-Id: Ia29a9aa855aa3bfab1a26fc3671b6c5436c176c1
| | * Qt Designer: Remove unused variableFriedemann Kleint2016-11-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning: widgetbox\widgetboxtreewidget.cpp:70:20: warning: 'qtLogoC' defined but not used [-Wunused-variable] static const char *qtLogoC = "qtlogo.png"; Amends change 6b6b7786cfe0a90aaed359bafb7a9be2bd0502f9. Change-Id: I4908a067c654d706f24d0afafd99142241ad3f69 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
| | * pixeltool: Check whether initial geometry is applicableFriedemann Kleint2016-11-081-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing primary screens of multi-monitor-setups on Windows, out-of-screen positions might be saved which make it impossible to bring the tool back and also cause crashes when no screen is found for grabbbing. Check the saved position when reading the settings and check if a screen can be obtained for grabbing. Change-Id: I69ec677e144306290a4ee7a3e84f87dd600ff086 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * remove dependencies from sync.profileOswald Buddenhagen2016-11-061-13/+0
| | | | | | | | | | | | | | | | | | | | | the CI obtains them from the qt5 super repo nowadays. Change-Id: I030c3c28510163bc7c35f82808b3882e68e51857 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * | Merge remote-tracking branch 'origin/5.7.1' into 5.7Liang Qi2016-11-244-29/+74
| |\ \ | | | | | | | | | | | | Change-Id: Ibaac0fc6ca0ec7c911793451f8d80dbe2758c41c
| | * | Fix a leak and a crash in designerv5.7.15.7.1Jarek Kobus2016-11-033-29/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change downports the 56ac0c12ab5e7269e16bcc1248e4241302d91d09 change to the 5.7.1 branch in order to have a chance for releasing Qt Creator 4.2 with a fix. The crash doesn't appear in the standalone Designer, it only appears in the Designer plugin of Qt Creator during reload. There is no other way to fix that crash outside of Qt. Task-number: QTCREATORBUG-17150 Change-Id: Ide521677a1526d3de862d0d8e283531a67b2a7a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 56ac0c12ab5e7269e16bcc1248e4241302d91d09)
| | * | Fix assert when instantiating QWebEngineViewKai Koehne2016-10-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWebEngineView requires that OpenGL context sharing is enabled. This needs to happen before the first OpenGL context is created. In QtWebEngine we don't do this automatically for dynamic builds anymore (commit e2541ebdfadea0fe43baac748cfa9e07f3b57215) Change-Id: I07e10cf6986650f1e2fdebdc04fb5d65774f393a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | | Fix a crash on Designer exitJarek Kobus2016-11-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the destructor of FormWindow itself has finished, it starts destructing its fields. One of them is an undo stack. Unfortunately, the destructor of QUndoStack emits signals. One of its signals is being received in QDesignerFormWindow::updateChanged(). The QDesignerFormWindow keeps a QPointer<FormWindow> m_editor which we are currently destructing. The destructor of FormWindow finished, but the destructor of its base QObject didn't run yet, so all QPointer instances pointing to it are not nulled yet. Inside the updateChanged() we ensure that m_editor is still alive, however this check is wrong in Qt5 times. The QPointer will be nulled when the destructor of base QObject finishes, so we read that m_editor is valid, while it is in the middle of destruction. Then we call some method on it which leads to the crash. The current fix disconnects the undo stack's signals prior to destuction. It also removes the undo stack from the undo group. Task-number: QTBUG-57201 Change-Id: I753b5c8cae2b630d7cdec13b0dfe325d16726e82 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | qtattributionscanner: Print (and link to) upstream version in qdoc outputKai Koehne2016-11-181-2/+17
| | | | | | | | | | | | | | | | | | | | Change-Id: I3f50456cee9a11e41e200a097ba2152d94ee273a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | | qdoc: Correctly check for feature xmlstreamwriterFriedemann Kleint2016-11-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning: qttools/src/qdoc/qdoc.pro:2: Cannot find feature qfeatures Change-Id: I0aac9873b4f9c1b8d30bd38b2b1f356b21feffe9 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | | Fix sorting of generatelistKai Koehne2016-11-161-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the attributions where sorted first for target names (Node::name()), not by the text displayed. Fix this by first doing comparisons based on fullTitle. Also fix the same logic for function lists. Change-Id: Id11f96355665b1aae0499ce2dd0d876d698b10c9 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-0835-141/+421
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: Ib403ca6ac5edf4c75e7fbdcd467601bdfe348e6d
| * | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-0435-141/+421
| |\ \ \ | | |/ / | |/| / | | |/ Change-Id: I4ee208f69bed72c480c636cb18f22fd88c02d1e5
| | * macOS: Handle -qtlibinfix correctly in macdeployqtAndy Shaw2016-10-261-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Qt is configured with -qtlibinfix then it will insert the specified setting inside the framework names. Therefore QtCore.framework can be called QtCoreLibInfix.framework. This means that we have to account for this in macdeployqt when determining which plugins should be deployed. Change-Id: I30fc7434fa87d1b41c2cacfbc9f76d4ce5491329 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * lupdate: Add qrc resource file supportTakumi ASAKI2016-10-2513-57/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lupdate parses qrc files specified by the RESOURCES qmake variable or by command line options, and adds files in them as source files. [ChangeLog][lupdate] Added qrc resource file support Task-number: QTBUG-53206 Change-Id: Id7f952487ab11e062db9c5a419fb2ee3c4716740 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * prevent .prf files from postponing work to build passesOswald Buddenhagen2016-10-254-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as lupdate doesn't execute any. this increases the chance that we will get a complete picture of the project. this is preparation for lupdate interpreting .qrc files. Task-number: QTBUG-53206 Change-Id: I5e10b44637d527799f55c578a99076eb4750f131 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * fix test execution in dirs with spacesOswald Buddenhagen2016-10-252-6/+6
| | | | | | | | | | | | | | | Change-Id: Ib99cf27f50f32eb23d278f5b9a9c279d10da4ece Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | * deduplicate test command launching a bitOswald Buddenhagen2016-10-252-13/+15
| | | | | | | | | | | | | | | | | | | | | pre-calculate the lrelease/lconvert path once. Change-Id: Ia1603db955ef08e61d123393f6e69c4653d8b6a9 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | * Doc: Update documentation on \legalese QDoc commandTopi Reinio2016-10-251-35/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The \legalese command is not used in Qt 5 documentation, because it does not support collating license texts across modules. Update the documentation accordingly, and remove the obsolete example on how it's being used in Qt docs. Change-Id: Id3505ccf5b44bd2c2e236b8464dea18d4c7b8a89 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * designer-manual.qdoc: Fix typo in documentationFrederik Schwarzer2016-10-181-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I46c41a94ab1429e527ef01e342ee3f6578fa1876 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Qt Designer: Introduce utility function for the Qt logo iconFriedemann Kleint2016-10-125-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function qtLogoIcon() returning a multi-size icon to iconloader_p.h. Adapt the plugin dialog and widget box so that the logo icon is returned for empty icon names. Task-number: QTBUG-55137 Change-Id: If6843e75577b05c3bfcedf976849eba88b914547 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Qt Designer: Update logo icon used for iconless custom pluginsFriedemann Kleint2016-10-126-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the single size Qt logo by a series of icons, providing higher resolutions for High DPI. Task-number: QTBUG-55137 Change-Id: Ib128f679a8d9c6ce39ec0ae76c0d569d142aa636 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| | * windeployqt: Fix temporary file leakFriedemann Kleint2016-10-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set FILE_FLAG_DELETE_ON_CLOSE on the files used for redirectoring process outputs. Task-number: QTBUG-56268 Change-Id: Ia0b25ed9067e0a40a9b83dc7d10a9cf15ac63b70 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | | Fix symmetry of streaming enums in QDataStreamThiago Macieira2016-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They're often streamed in as int, so cast to int before streaming out. int marker, v; stream >> marker; Change-Id: Ic46ff326a6ba46bc877cfffd1483216a140d8276 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Qt Designer: Mark forms as dirty when changing the promoted classesFriedemann Kleint2016-10-311-2/+14
| | | | | | | | | | | | | | | | | | | | | Call QDesignerFormWindow::setDirty() when promoted classes are changed. Change-Id: I2310c73b8894658bf9fb8f2a76f0aa25364fae10 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | | Qt Designer: Remove class QDesignerUndoStackFriedemann Kleint2016-10-315-193/+11
| | | | | | | | | | | | | | | | | | | | | | | | The class emulated setDirty() functionality which was now introduced to QUndoStack as resetClean(). Change-Id: I11be2f6d746713ae872c8dc8705acc32c88f9ec8 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | | qdoc: Resolve attribution pages in single-exec modeTopi Reinio2016-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDocDatabase::processForest() must call findAllAttributions() before marking the current tree as analyzed - otherwise we fail to find any attribution pages with \generatelist command when running in single-exec mode. Change-Id: If1a9d665104089e3efa86ea9cb03b28dd817f295 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* | | attributionscanner: Allow to specify multiple filesv5.8.0-beta1Kai Koehne2016-10-277-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far 'Path' was used to specify a whole directory, or a single file. This introduces a separate 'Files' property, so that one can document that e.g. two specific files in a directory contain third party code. 'Files' should be relative to 'Path'. Change-Id: If4213d9a1b1ca706c49ed761027c6af86fbdc02a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Fix a leak and a crash in designerJarek Kobus2016-10-263-8/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have never cleared the property sheets extension objects for object on the form. This was done on designer / creator exit, but in meantime we always cumulated all of them in memory, event when the original widget or its form got deleted. They were cleared since they were the children of QDesignerAbstractPropertySheetFactory which got deleted on app exit. Since property sheets were not removed, they were existing without their original object. We have remembered pointers to them in order to reload resources when needed. That caused a crash since we have referred to non-existing originals during resource reload. We have leaked so many billions of sh(ee)ts during last 10 years at least... Task-number: QTCREATORBUG-17150 Change-Id: Icf655cccf93a680b874cec8b1be333ce718db062 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Remove unneeded map and simplify extension codeJarek Kobus2016-10-211-23/+6
| | | | | | | | | | | | | | | Change-Id: If472a57975bcd9f5d5594ed6e633cb2b95f3289c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | qtattributionsscanner: Fix MSVC compiler warningFriedemann Kleint2016-10-211-2/+3
| | | | | | | | | | | | | | | | | | | | | packagefilter.cpp(38): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data Change-Id: Ief4aad17ef27202cc00fe9de987ca30f4acbc2a7 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | use modularized platformsupport modulesOswald Buddenhagen2016-10-212-2/+2
| | | | | | | | | | | | | | | Change-Id: I613fe0bfbb355a617e88140ddeb29c889500e635 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Put attribution files into module namespaceKai Koehne2016-10-201-2/+2
| | | | | | | | | | | | | | | Change-Id: I9e3b6d1a212ce85191e99e143a0a571ac5915d4c Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | | Linguist: Delay translations of the file format descriptionsFriedemann Kleint2016-10-148-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The various init() functions are called before translations are loaded; thus the descriptions appeared untranslated. Use QT_TRANSLATE_NOOP to delay the translation. Task-number: QTBUG-56374 Change-Id: I9eb130f10a10e39011759c16a99ee4cf3a5dac99 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | qtattributionscanner: Ignore licenseId's with spacesKai Koehne2016-10-111-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | SPDX license expressions can contain more elaborate structs with AND and OR operators. Just ignore these for now in the .qdoc generation step. Change-Id: I9bcd432ebd6a188a1745432ddd3aa5b3bbd48b03 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | | add discard_from() functionOswald Buddenhagen2016-10-103-5/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this function discards all values that come from a specific file. it will be needed for configure bootstrapping, but is too obscure to document it for general use. Change-Id: I62c18aeb1847712e33d0599dbb0b90ffa1722438 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/12bb328bb0be8efe54aae750c21938aab4d17539) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | make include(,<into>) implementation a bit less convolutedOswald Buddenhagen2016-10-102-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this goes at the cost of <into> without the subsequent dot not being filtered before the result insertion any more. that's not expected to be a problem, as it's not particularly useful to iterate the target namespace without the dot in the first place. Change-Id: Ib3497a60613b4c8c26676fe76b731239e427b8a7 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/3277143f9609a0c257dd118c7fa4900b2fb36de3) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | optimize operator+ ProString vs. char*Oswald Buddenhagen2016-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we have all necessary overloads now. Change-Id: Ic4472eba15d4234e968fcb9443d0f79011aa43fd Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/f137957e0887a9321b69b9ba83ed6ccaedee57bb) (cherry picked from qtbase/1df4b2a3609d977cc8123f1f82e454d0333287d4)
* | | Support C++17 fallthrough attributeAllan Sandfeld Jensen2016-10-102-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces our mix of comments for annotating intended absence of break in switches with the C++17 attribute [[fallthrough]], or its earlier a clang extension counterpart. Change-Id: I4b2d0b9b5e4425819c7f1bf01608093c536b6d14 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from qtbase/9f888d2fde9c5413e5519e0914e9b13638760985) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | add support for returning the command's exit status to $$system()Oswald Buddenhagen2016-10-102-6/+17
| | | | | | | | | | | | | | | | | | | | | Change-Id: I242dfde344f555800cef1f55d3cb85418a93277f Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/0eff800e81f3e7f803dffd77737faaed73002ac8) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | print no message at all when no argument is supplied to error()Oswald Buddenhagen2016-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is useful when an adequate message has already been emitted by other means, like various built-ins do. Change-Id: I092771f55969fad8b214204d666327664727c572 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from qtbase/22d1351ddea193f5c00d4ae12229358dea826c62) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | Improve error reporting when parsing JSON filesLars Knoll2016-10-102-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least report the error string and the file offset where the error happened. Change-Id: Iaa1733593b8af2a7a52b67c0f495731f045d2c11 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> (cherry picked from qtbase/34c24ceb1ffce964c9f139d84b6b271bd2e45c33) Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | add $$sorted() functionOswald Buddenhagen2016-10-102-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][qmake] Added $$sorted() function. Change-Id: Ic069d3ef7c0b7a260c714c76eecc71c41417d01f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com> (cherry picked from qtbase/50e22c765343102c4e0acf1eee8a6ce6f6f39ccf) Reviewed-by: Jake Petroules <jake.petroules@qt.io>