aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6
Commit message (Collapse)AuthorAgeFilesLines
...
* PySide6: Adapt to latest changes in QtMultimediaFriedemann Kleint2021-06-072-4/+4
| | | | | | | | | | Rename QAudioOutput to QAudioSink and QAudioInput to QAudioSource, following qtmultimedia/3350275e25c96b391e31d2c9c472b4f0aa58b8f7, qtmultimedia/aa1f073a32147d147e4e9a0fee9dde8ccc30531e. Pick-to: 6.1 Change-Id: I78bca6f8e9c43ef42753b3a81921440afe4ad387 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add more classes from Qt3dFriedemann Kleint2021-06-078-0/+41
| | | | | | | | | | [ChangeLog][PySide6] A number of missing classes from the qt3d repository have been added. Pick-to: 6.1 Task-number: PYSIDE-1482 Change-Id: I469b86196133fa82c5acca0caf91d29d991015de Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add missing class QFormBuilder (Qt Designer)Friedemann Kleint2021-06-072-1/+2
| | | | | | | | | As a drive-by, fix warning about non-existent function. Pick-to: 6.1 Task-number: PYSIDE-1482 Change-Id: Iaa6bd9c2a08e96d996fda0f88d0217340f16526f Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix error about not holding the GIL when releasing QImage memoryFriedemann Kleint2021-06-031-0/+3
| | | | | | | | | | | | | | Fix: "Fatal Python error: Python memory allocator called without holding the GIL" when running sources/pyside6/tests/QtWidgets/qimage_test.py Acquire the GIL for releasing. Amends a97698f0a5d011fd206db94cf73dba6353f39b29. Pick-to: 6.1 5.15 Task-number: PYSIDE-1563 Change-Id: Idf8dbf857f6dde76f80a78f581dacb3cf5fea16b Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add some missing classes from qtbaseFriedemann Kleint2021-06-0310-3/+61
| | | | | | | | | | [ChangeLog][PySide6] A number of missing classes from the qtbase repository have been added. Pick-to: 6.1 Task-number: PYSIDE-1482 Change-Id: I7b5388df1a4773ccdf32d44e2d968ba814453e34 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6/Bluetooth: Fix enumerationsFriedemann Kleint2021-06-011-3/+2
| | | | | Change-Id: I17d1abecf7349e2cc495ac96c571f36819c6195c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Move class QSysInfo into the common type system fileFriedemann Kleint2021-05-284-14/+5
| | | | | | | | | | | The platform-specific enumerations were removed by qtbase/59342379bde1be36b5c42cc8019c598138a0b534, so, there is no need to have it in the platform type system files. Pick-to: 6.1 Task-number: PYSIDE-802 Change-Id: I66976e688c0642ae5cfef5d760c4d6a5d6d41467 Reviewed-by: Christian Tismer <tismer@stackless.com>
* CMake: Rename the ENABLE_ platform variablesFriedemann Kleint2021-05-281-6/+8
| | | | | | | | | | | | Remove ENABLE_X11 in favor of ENABLE_UNIX to match the Q_OS_ defines. Remove unused ENABLE_SIMULATOR. Task-number: PYSIDE-802 Task-number: PYSIDE-1568 Pick-to: 6.1 Change-Id: I231580d562c4ee06db1bd6bf04eb53283d882134 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove unneeded per-platform typesystem filesFriedemann Kleint2021-05-288-142/+1
| | | | | | | | | | | | | Remove the per-platform typesystem files from QtWidgets and QtPrintSupport. It should not be necessary to repeat the Qt::HANDLE definition from QtCore. Keep the ones from QtCore and QtGui as they might be reused for native interfaces. Pick-to: 6.1 Task-number: PYSIDE-1568 Change-Id: I409fd7209c6ff130d1eef639398a57f19b25dcd5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Streamline per platform typesystem filesFriedemann Kleint2021-05-266-41/+12
| | | | | | | | | | | - Remove no-longer existent macOS-specific classes - Move QAbstractEventDispatcher back to the core typesystem - Move all warnings to the core typesystem Pick-to: 6.1 Change-Id: I9d733e1a1eb2682784f22ec3b4b7d976db737f02 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PySide6: Adapt QtMultimedia to current stateFriedemann Kleint2021-05-262-17/+5
| | | | | | | | | | Fix to build with the wip/qt6 branch at qtmultimedia/ef2d075b357464d3d6ae1c963b1a419bd3121241. Task-number: PYSIDE-1570 Pick-to: 6.1 Change-Id: I18c266f89a6d775bc0edb55f17b99e6cd1e4dc7f Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix crashes when using the QImage(uchar *) data constructors, take 2Friedemann Kleint2021-05-253-1/+11
| | | | | | | | | | | | | | | The constructors expect a range of memory that remains valid through the lifetime of the image and may also modify it. Crashes occurred since apparently the Py_Buffer was released before it. To fix this, inject code to increase the reference count and decrease it in the cleanup function. Pick-to: 6.1 5.15 Fixes: PYSIDE-1563 Change-Id: Ic4a47e0f458ed5b59b88813139102a9f1490a9df Reviewed-by: Christian Tismer <tismer@stackless.com>
* Revert "Fix crashes when using the QImage(uchar *) data constructors"Friedemann Kleint2021-05-251-2/+2
| | | | | | | | | | | | | | | It breaks a use case in pyqtgraph, which expects to be able to manipulate the image by modifying the data. This reverts commit cc011c8980cc4ce02e3d9cceb74ee028c204214e. The helper Shiboken::Buffer::copyData() is left in place since it can be useful for other cases. Pick-to: 6.1 5.15 Task-number: PYSIDE-1563 Change-Id: Ib0d58662a4257a315865436a32e99d9ee6369e03 Reviewed-by: Christian Tismer <tismer@stackless.com>
* __feature__: Support generation of modified .pyi filesChristian Tismer2021-05-211-1/+7
| | | | | | | | | | | | | | | | We add a possibility to select features before generating the pyi files. This will improve the feature adoption, because common IDEs can use these changed .pyi files. - avoid crashes because of early selection - add an option to generate_pyi - document pyside6-genpyi and shiboken6-genpyi - build a correct display of properties Task-number: PYSIDE-1019 Pick-to: 6.1 Change-Id: Ib75dfcbaccaa969ef47eeb142d9c034a2a6c11d6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add initial Support for QtBluetoothAndreas Buhr2021-05-192-0/+183
| | | | | | | Task-number: PYSIDE-1570 Change-Id: I37aa89f31b96caedb0de7343392d5e530239ed8e Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6/QtGui: Fix crashes in functions returning internally owned classes ↵Friedemann Kleint2021-05-181-0/+15
| | | | | | | | | | | | | | | | | | by pointer Indicate Default ownership, for QClipboard.mimeData(), QTextCursor.currentList(), QTextCursor.currentTable(), fixing: RuntimeError: Internal C++ object (PySide6.QtCore.QMimeData) already deleted. RuntimeError: Internal C++ object (PySide6.QtGui.QTextList) already deleted. [ChangeLog][PySide6] Crashes in QClipboard.mimeData(), QTextCursor.currentList() and QTextCursor.currentTable() have been fixed. Pick-to: 6.1 Change-Id: I1e4f55856bce8bf951edd8579331f0242e904ae6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove QtX11Extras, QtMacExtrasFriedemann Kleint2021-05-175-171/+0
| | | | | | | Task-number: QTBUG-83251 Task-number: PYSIDE-1568 Change-Id: I36117d83f51b708882c1283c3a16528fcb5384e2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Turn generate_pyi into a general pyi_generator tool, finishChristian Tismer2021-05-171-0/+1
| | | | | | | | | | | | | | | | After the new tool has been created, we can now produce a Shiboken.pyi file automatically and make the PySide pyi files more complete. The Shiboken internal objects are now published, and we no longer need a fake Shiboken.Object . We can continue here a bit, maybe in another commit. Pick-to: 6.1 Task-number: PYSIDE-1415 Change-Id: I9ba9336dbffa200ac519968519ee9381dd5cad84 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Turn generate_pyi into a general pyi_generator tool, mainChristian Tismer2021-05-171-1/+1
| | | | | | | | | | | | | generate_pyi is now split into a pyi_generator in signature.lib and the remaining stub in generate_pyi.py . pyi_generator can create .pyi files from arbitrary modules created with shiboken. Pick-to: 6.1 Fixes: PYSIDE-1415 Change-Id: I966cf9f48859185d7ecb72140b533319226e511d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Turn generate_pyi into a general pyi_generator tool, preparationChristian Tismer2021-05-171-200/+2
| | | | | | | | | | | | generate_pyi is now split into a pyi_generator in signature.lib and the remaining stub in generate_pyi.py . This is the first step in the transformation. Pick-to: 6.1 Task-number: PYSIDE-1415 Change-Id: I7b9075d3f6d8d2b8f8efa4591234f89d4bbe3e46 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Re-add QtMultimedia/WidgetsFriedemann Kleint2021-05-147-506/+158
| | | | | | | | | | | | | | | | | Fix it to build with qtmultimedia/9a4822037def3b9d48abea8bbfd7ea20fd19849b (wip/qt6). Remove typesystem_multimedia_forward_declarations.xml as the forward declarations of QVideoWidget and QGraphicsVideoItem no longer exist. Fix the tests. Fix the player example to run/crash. Pick-to: 6.1 Task-number: PYSIDE-1482 Change-Id: I340693e3510347f95b55395985bd2b0f294769a1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix crash in QCustom3DVolume::setTextureData()Friedemann Kleint2021-05-132-1/+12
| | | | | | | | | | | | | Similar to 3a18da91353a71e801658329c55b170c18bcd824, pass an allocated list to the function. [ChangeLog][PySide6] A crash in QCustom3DVolume::setTextureData() has been fixed. Pick-to: 6.1 5.15 Fixes: PYSIDE-1362 Change-Id: I7dddaf7be33b84b89d66378ec61f6a065f6d71be Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix crashes when using the QImage(uchar *) data constructorsFriedemann Kleint2021-05-121-2/+2
| | | | | | | | | | | | | | | | | The constructors expect a range of memory that remains valid through the lifetime of the image and may also modify it. Crashes occurred since apparently the Py_Buffer was released before it. To fix this, add a new buffer helper, copyData() that makes a copy of the data and pass that along with std::free() as cleanup function. Pick-to: 6.1 5.15 Fixes: PYSIDE-1563 Change-Id: Idb09eadea658f02968f75c6bdfc6cc3f467111d5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Enable the exec() functionsCristian Maureira-Fredes2021-05-0410-20/+355
| | | | | | | | | | | With Qt6, PySide dropped support for Python 2.7, thus it does not make sense to keep our exec_() renaming inplace. This patch will enable the exec() functions, and adds a deprecation note for exec_(), which will enable us to safely remove it in the future. Change-Id: I7375e10632e7ab534ca264304a5a65f380b9b1bb Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add context management for QSignalBlockerFriedemann Kleint2021-04-282-1/+10
| | | | | | | Add __enter__/__exit__ modeled after QReadLocker. Change-Id: I6e8f93adf4e957bd20179c902aa429fb88f2537b Reviewed-by: Christian Tismer <tismer@stackless.com>
* UiTools: Remove dependency on QtXmlFriedemann Kleint2021-04-272-2/+0
| | | | | | | | The module only uses QXmlStreamReader/Writer. Change-Id: Icb58251dc800cc7c3cb8827b431ded1744baf639 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add documentation for the numpy overloads of functions taking point listsFriedemann Kleint2021-04-232-3/+15
| | | | | | | | | Amends 6389561fd75e80c69d7c83f6a87d988450a2e569. Task-number: PYSIDE-1540 Task-number: PYSIDE-1503 Change-Id: I0f424dccf4151d53d64f3aef923a32d3c3bf2641 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add a numpy overload for some functions taking lists of QPointFFriedemann Kleint2021-04-214-1/+35
| | | | | | | | | | | | | | | | | | | | Add functions taking x,y data in the form of numpy-vectors (as common for matplotlib, etc) for: QPainter::drawPoints() QXYSeries::append(), QXYSeries::replace() They are added as separate functions instead of overloads since there is a restriction in that numpy arrays cause an error: FIXME Subscripted generics cannot be used with class and instance checks when passed to other type check macros. Task-number: PYSIDE-1540 Task-number: PYSIDE-1503 Change-Id: Ie1521ce19127bb0641fbdb4f7320a8707682724e Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Call reserve() when converting listsFriedemann Kleint2021-04-201-0/+6
| | | | | | | | | | | If a size can be obtained, add a call to reserve() to avoid reallocations for large lists. Task-number: PYSIDE-1540 Task-number: PYSIDE-1503 Change-Id: I95a8a6aa02641d9f174dbc3b63740a05d1d95a45 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6/typesystem: Replace remaining usages of QVector by QListFriedemann Kleint2021-04-152-14/+14
| | | | | | Pick-to: 6.0 Change-Id: I1c9fe1006cb936c88c860482ba93d0a68554a350 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Fix performance of QPainter::drawPoints(QPolygon)Friedemann Kleint2021-04-131-2/+7
| | | | | | | | | | | Reorder the overloads so that the QPolygon overload is checked first before the costly sequence type check of the QPoint list. Speeds up the example from 1800ms to 80ms. Fixes: PYSIDE-1540 Pick-to: 6.0 5.15 Change-Id: I108b0e98c82540703ee80345026ecdc3b55dfd4e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add std::pair as a container in CoreCristian Maureira-Fredes2021-04-131-0/+10
| | | | | | | | | | | Since Qt6's QPair uses it underneath, we require to have a declaration so we are able to transform from and to Python. Fixes: PYSIDE-1544 Pick-to: 6.0 Change-Id: I9cc753cbbe0b352382996e896c00faff9bc0f819 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Add missing enumeration to QSslFriedemann Kleint2021-04-121-0/+1
| | | | | | Task-number: PYSIDE-1482 Change-Id: Ib616e96228c70e6db62aa7d733e9178938473ed5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* cmake: update minimum Qt version for 6.0+ compatCristian Maureira-Fredes2021-04-076-43/+15
| | | | | | | | | | Bumping modules compatibility, using 6.0.0 as the base since we the rename from PySide2 took place already, and this code is not supposed to be backward compatible. Pick-to: 6.0 Change-Id: I471b151ef50f5a5974561bf2e619017f7beb621a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* signature: remove inspect and typing from special PySide6 modulesChristian Tismer2021-04-011-13/+9
| | | | | | | | | | inspect and typing are removed from the signature module and the official ones are used. This is done as a clean-up before re-writing generate_pyi.py . Task-number: PYSIDE-1415 Change-Id: I3b580805775962447e65a2d7593ecf737e97536c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Write conversions as typing.Union[]Friedemann Kleint2021-03-291-1/+1
| | | | | | | | | | | | | | Extract all implicit conversions and write them as typing.Union[]. The optional_replacer was fixed, build_brace_pattern needed a separator to be able to continue. Missing mappings are added. Task-number: PYSIDE-1520 Change-Id: I2d8e4e7b8f1586036cc3ec9cf469a27e693e7312 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Nuitka: Allow for compiled functions and methods tooChristian Tismer2021-03-261-4/+38
| | | | | | | | | | | | | | | | | | | | | | The author of this patch is Kay Hayen. He writes: * Add support for compiled methods to the bindings manager. * For slots, implement lookup of code objects for compiled methods and functions with a new function avoiding code duplication. * Look up attributes of slots, e.g. code objects that Nuitka also has as well, methods have "im_func" and "im_self". * Sometimes calling "tp_descr_get" Python object slot is the universal thing to do, covering all types. * Detect compiled methods as receiver targets too. Task-number: PYSIDE-1523 Change-Id: I0277b583840710476198ed5e1ccaaccd672e7638 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pysidequickregistertype: Adapt to qmlLists removalMaximilian Goldstein2021-03-232-0/+35
| | | | | | Change-Id: I3028ca6d2183508697452377a70a7197ae0dc3ec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QMouseEvent: Mark deprecated functions as suchFriedemann Kleint2021-03-191-1/+12
| | | | | | | | The code parser does not see this apparently due to macro nesting. Task-number: PYSIDE-1482 Change-Id: Ic8e95c5b1567ac533f324a51a12dee90bede72b7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Windows: Fix warning about inconsistent DLL linkage of QtQml_VolatileBoolTypeF()Friedemann Kleint2021-03-191-1/+1
| | | | | | | | | Remove PyAPI_FUNC, which expands to export. Pick-to: 6.0 Change-Id: Ice042b50044747bc61c6e480ad2d812ca007043b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Qt Datavisualization: Fix crashes in QBar/SurfaceDataProxy add/set/insertRow()Friedemann Kleint2021-03-172-45/+90
| | | | | | | | | | These function take an allocated array. Replace them by functions that take the list by const-ref and pass the allocated copy. Pick-to: 5.15 Fixes: PYSIDE-1438 Change-Id: Id58cdbc4b939713b71724f5d4a67f0448c74f33f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove const_cast<char *> which are no longer needed in Python 3Friedemann Kleint2021-03-153-22/+8
| | | | | | | | Remove from code as well as from the generator. Change-Id: Ia863788bfa57d52258836c1cbcccb8c9815b7421 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Pyside6: Move QtOpenGLFunctions into QtOpenGLFriedemann Kleint2021-03-1234-639/+448
| | | | | | | | | [ChangeLog][PySide6] QtOpenGLFunctions have been moved into QtOpenGL. Task-number: PYSIDE-1482 Change-Id: I60807f1c3f7c0a2308a810c72a751de39d03abc0 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* PySide6: Add QOpenGLVersionFunctionsFactoryFriedemann Kleint2021-03-114-1/+109
| | | | | | | | | | Make it possible to obtain versioned OpenGL functions. Task-number: PYSIDE-1482 Fixes: PYSIDE-955 Pick-to: 6.0 Change-Id: Ife315de0aa05ac83610e228389bcf55214e93e55 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Fix some clang analzyer warningsFriedemann Kleint2021-03-111-10/+10
| | | | | | | | | | | | - Use nullptr - Initialize variables - Remove else after return - Remove C-style casts - Avoid constructing QString from const char * - Use emit for signals Change-Id: I6ba8cad51f4b2a22f94996d1a9d8c3ae87c35099 Reviewed-by: Christian Tismer <tismer@stackless.com>
* QtNetwork: Add new enums for 6.1Friedemann Kleint2021-03-101-0/+2
| | | | | | Task-number: PYSIDE-1482 Change-Id: I6ef20730077ee93587e71c1411a5ddfde392179f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Move injected code snippets where they belongFriedemann Kleint2021-03-108-96/+184
| | | | | | | | Adapt to the restructuring in Qt 6. Change-Id: I3cd65b8ee428fcc75de010efaa3595664a00eb97 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Brush up the injected code snippets and templatesFriedemann Kleint2021-03-107-73/+77
| | | | | | | | | | | - Use qsizetype (or equivalent Py_ssize_t) for containers - Introduce some auto - Use constData() for QByteArray - Use Qt 5 connection syntax - Use nullptr Change-Id: Ie9134a4f756219d6e5c5710ab64c09a236febd4d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Remove unused glue codeFriedemann Kleint2021-03-1012-471/+0
| | | | | Change-Id: I3f5adb202722aecbd34766e782c218720926b73d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix broken return type conversions of QOpenGLExtraFunctions::glGetStringi()Friedemann Kleint2021-03-102-1/+6
| | | | | | | | | | | | | | | The function returns const unsigned char*, which was converted using the wrong snippet (QString conversion of parameter 1). Add a new snippet using the char *conversion of the return value at the end. Fixes warning: PySide6/QtGui/PySide6/QtGui/qopenglextrafunctions_wrapper.cpp:4630:35: warning: unused variable cppResunused-variable] const unsigned char * cppResult = cppSelf->glGetStringi(cppArg0, cppArg1); Pick-to: 6.0 5.15 Change-Id: Iae3f0abd4a34fb3b6a41534508fb5d64a3eae224 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>