aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Pin Qt5#sha1 and bump version numbers for 6.6.1 releasev6.6.16.6.1Simo Fält2023-11-273-3/+3
| | | | | Change-Id: I66f90708d85093753ad90c68d26aefc22d07b7bc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Revert "CI: Adapt to Python 3.11 with rhel configs"Simo Fält2023-11-273-3/+3
| | | | | | | | | This reverts commit c3275fe632022b38c6ce06716f671bafb6c0bf38. The Pyhton update from 3.8 to 3.11 is missing from released version of qt5. Change-Id: I3e14b176aefb6f92a21736fdc9aa7175c2768394 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QtAsyncio: Add wrapper for calls in executorAdrian Herrmann2023-11-242-7/+87
| | | | | | | | | | | | | | | | Executors require a bit of extra work for QtAsyncio, as we can't use naked Python threads, instead we must make sure that the thread created by executor.submit() has an event loop. This is achieved by submitting a small wrapper that attaches a QEventLoop to the executor thread, and then creates a singleshot timer to push the actual function for the executor into this new event loop. Task-number: PYSIDE-769 Change-Id: I77569d8939d6040ddbe62a99448c6ced2785f27e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit e89d05ec5f703922b334233aa48005f828b16281) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtAsyncio: Do not raise exception at handle cancelAdrian Herrmann2023-11-243-11/+5
| | | | | | | | | | | | Do not raise an exception when cancelling a handle. The exception should be raised later, when retrieving the future's result. Task-number: PYSIDE-769 Change-Id: I8243cf16e8be5afe167d69313054e97e9aafc75c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> (cherry picked from commit 476dea383d64d528263ff12d795901b10bc7ed48) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QtAsyncio: Handle exceptions properly in task stepAdrian Herrmann2023-11-242-11/+14
| | | | | | | | | | | | Refactor the task step function to handle exceptions properly, as the self._coro.throw() code path was not usually reachable. Task-number: PYSIDE-769 Change-Id: I31d50f700857a47bf1df5f0f02fb2fa313c1c045 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 3078f67ec5f88a3a96d223798abe872eda8c5dbe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QTimer: Implement singleShot signatures w/ contextAdrian Herrmann2023-11-243-2/+71
| | | | | | | | | | | | | On C++, it is possible to call singleShot timers with a context object as an argument. This allows posting events to the event loop of the given context object's thread, instead of the thread of the current thread. Implement corresponding signatures to add this capability to Qt for Python. Change-Id: I0c4e3ef4b859cdfaac07415ff64c440821e7f442 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 671c182dce91c387037894017be314564e054c00) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CI: Adapt to Python 3.11 with rhel configsSimo Fält2023-11-243-3/+3
| | | | | | | | | Default Python version on rhel 8.x was updated to 3.11. Change-Id: Iad60544ee81a2805f7e5ce2b4c9f44df9cf9fdf7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 3a058afcd7ae497c085ea0b0891d164caa38f1fe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: Use different titles for async examplesAdrian Herrmann2023-11-242-4/+4
| | | | | | | | | | Give the two async examples different titles in documentation so they don't appear with the same name in navigation. Change-Id: I342a5b611e3d2b6cc415162c8ce5a0ee9441c8a8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 2b6142c1c22b2045f1a82cc2ee47ebfda9d8e4a3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Deployment: Relative path bug fixShyamnath Premnadh2023-11-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | - The qml files are identified and stored as relative path and line under consideration tries to do a 'relative_to()' on an absolute path which causes the error ValueError: {qml_file} is not in the subpath of 'project_path' OR one path is relative and the other is absolute. The error only appears on the first run of pyside6-deploy with a project that does not have a .pyproject file. For the subsequent runs, absolute path are used because the path is fetched from the deploy config file. - This patch fixes this error by using absolute path for each qml_file Pick-to: 6.5 Task-number: PYSIDE-1612 Change-Id: Ib54edded404bd1be87ab5f22f61e2d30416b7dae Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit b0de21cea7f01db97a46d72d8edcb7944aaa4387) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add changelog 6.6.1Friedemann Kleint2023-11-221-0/+52
| | | | | | | Change-Id: I3a6be5ba8a39be27089e2cf00941aeebf55c8e1b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 174559981eebbfe217163d15a10b41ac4f207b25) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Create PySide6_Examples wheelCristián Maureira-Fredes2023-11-222-34/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the functionality of creating a wheel that only will contain the examples directory from the repo and place it under an existing 'PySide6' diretory in the site-packages. The dependencies of the wheel are the same as the empty 'PySide6' wheel, meaning PySide6_Essentials and PySide6_Addons will be installed if not present. Please consider that the 'hacks' we are using to create the wheels in our current project structure requires for us to have a combination of the files: - setup.py - setup.cfg - pyproject.toml - MANIFEST.in Without a proper directory structure per project, it's not possible to drop a couple of them. Change-Id: I164abb30bb744a98ec1d31b304a0a3668a543ae2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 214c0b0a1468506e30505f5e079527bc5b3ba95b)
* Drop setup.cfg in favor of pyproject.tomlCristián Maureira-Fredes2023-11-224-93/+103
| | | | | | | | | | | | | | | There were still many options in our setup.cfg that were able to be migrated to the pyproject.toml, and even though there is an experimental option (tool.distutils.bdist_wheel) works well with our configuration related to the 'py_limited_api' and the 'plat_name' options. Still the structure of our current project doesn't provide the most optimal way to use these files without many tricks. Change-Id: I31e67c6ef5e2f29623480a53ef4e28b6cf3cb9a4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit bf9c94cf5697cb30e26552d134219ce3966c1d4c)
* Add a tutorial for QML DebuggingFriedemann Kleint2023-11-212-0/+33
| | | | | | | | | | Pick-to: 6.5 Change-Id: I65ed5d7983099e115429d1af09fd03888eb37f97 Reviewed-by: Jaishree Vyas <jaishree.vyas@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 22d09c15f1d9ccb167a90d30cdbab233bc465a1d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: remove double white spaceCristián Maureira-Fredes2023-11-2125-64/+64
| | | | | | | Change-Id: I68b835bb5fa00d35fe5406deee2acc83c7bac7cb Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit ee92bd32094555209172bdc555f0ce1514e49cdf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Shiboken: Fix an oversight when removing ob_typeChristian Tismer2023-11-201-4/+42
| | | | | | | | | | | | | | | | | | SbkObjectType's meta type was changed due to a wrong fix. This has strange side effects when applying PEP 697 because a wrong action is taken. The meta class for class property was also rewritten to have its own meta class for PEP 697 compatibility. Amends: 73adefe22ffbfabe0ef213e9c2fe2c56efdd7488 Change-Id: I2d5c0a58e274c0a60496e29cbd714b9e69bfffbd Pick-to: 6.5 6.2 Task-number: PYSIDE-2230 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 5935b0f45503eabbd24c7379701b48bb2874a8ac) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Scene Graph Painted Item Example: Prototypically enable QML debuggingFriedemann Kleint2023-11-201-1/+9
| | | | | | | | | | Task-number: PYSIDE-2206 Pick-to: 6.5 Change-Id: I8112a1bd5c6020373d11a70a0043ccd1273735de Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 9f33028bfaa45a36a50738e6b8b8f8014f5fbfd9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update the clock exampleFriedemann Kleint2023-11-201-32/+48
| | | | | | | | | | | | | Port qtbase/619ec1a6406a8be7bfa9d96b9e693e7a3323d8dc to our QWindow example. Pick-to: 6.5 Task-number: QTBUG-118871 Task-number: PYSIDE-2206 Change-Id: Ib8ab8bf6f415b31d1493b3ea21f2c93aca4ed13d Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 2673c5b6ce1b766aab87d6c93cec95056bf34d43) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libpyside: Fix slot names in GlobalReceiverV2Friedemann Kleint2023-11-161-0/+4
| | | | | | | | | | | | Replace "<lambda>" by "_lambda_" when one is passed. Task-number: PYSIDE-2524 Change-Id: I9839c5e2862fc8c0153653eff1d29cf759dc5875 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit ef38449d27508e25ce45810f77e6b619089420ae) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Extend the PyObject debug operator to format code objectsFriedemann Kleint2023-11-163-1/+51
| | | | | | | | | | This is helpful for debugging signal connections. Task-number: PYSIDE-2524 Change-Id: I4b051de4a5b1583f1cba56864b24be403b4bc96d Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> (cherry picked from commit 9f7b808f64be9c01a17153839c368626edac32ed) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QtQuick3D Procedural texture exampleCristián Maureira-Fredes2023-11-158-0/+350
| | | | | | | | | | Task-number: PYSIDE-841 Co-authored-by: Dennis Oberst <dennis.oberst@qt.io> Change-Id: I191965e81aa93b812b128ad2045da1ef13f157b5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit b78a848801da0446728162400160380aa2f49337) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Shiboken: Fix subtle bug caused by PyPy support and "bug_825"Christian Tismer2023-11-145-9/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When implementing PyPy support, all Shiboken types lost their hidden extra fields, because they were replaced by shadow dicts. This creates a problem with multiple inheritance. In Python < 3.12, the decision which base type will create the instance is driven simply by the size of the type. In class MetaC(MetaA, MetaB): pass when MetaA is derived from type and MetaB is derived from SbkObjectType, MetaA is not the type that should win. Fixed by simply adding 1 to the default size of PyType_Type. Caused by bug_825 corrected version. The old test is retained as bug_825_old.py . NOTE: This touches a Python 3.8 bug that was fixed in 3.9.12 and 3.10.4 - unfortunately CI Python is older in all cases. Task-number: PYSIDE-2230 Change-Id: I6e82cafb83c8351bbbeafcc80e11d5e45568f73d Pick-to: 6.5 6.2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 9557565b48b2a72b7697443930234f9f92c17781) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* apiextractor: remove unused definitionFromTypeRefCristián Maureira-Fredes2023-11-091-6/+0
| | | | | | | | Change-Id: I551099f0d40b8abbfeba787c3378226e7958c0d8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit a9fac8c9a16c536db36ac2f14a5f9d38e06e6b4c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide build - remove importlib_metadataShyamnath Premnadh2023-11-092-7/+1
| | | | | | | | | | Removed for 6.6 because we don't support Python 3.7 from PySide 6.6 Change-Id: I2aea80ef28dad7bd346ff9f2321f01b3481e8762 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 0feca608ad23ecb6b4ecfd9b988435897d081059) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Do a directory check when considering system includesAlexandru Croitor2023-11-061-1/+2
| | | | | | | | | | | | | | | Otherwise system paths that are passed by yocto that don't end in a slash are considered files rather than directories and we don't end up processing files within those directories. Amends 7cc5c139482d735c49002649d26bb524c92cc86b Task-number: PYSIDE-1958 Change-Id: I25d809c3cbf101c4780beb98ee1359c3df67b8d1 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit e70a4645e9f3a734a6fdf64b8fbb84f76a687d49)
* Add rhiwindow exampleFriedemann Kleint2023-11-0315-0/+938
| | | | | | | | Task-number: QTBUG-113331 Change-Id: I4d775ecaeab5e8692a06d19b9951b139bc3d1051 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit ba4e29045017bdbbac43434bfcae124c8ccbc830) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QRhi and related classesFriedemann Kleint2023-11-039-2/+269
| | | | | | | | | | | | | CMake logic borrowed from the native interface patch. [ChangeLog][PySide6] QRhi and related classes have been added. Task-number: QTBUG-113331 Change-Id: I9dd8b0b92f71027fc9f2c170af2993a5b09a4cfd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 879d804fb462589a206d200bfd0371284be8d394) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update Qt 6.6 dependencyFriedemann Kleint2023-11-031-1/+1
| | | | | | | | | | qtbase/f0410ed5e8a02dccb3b8656ac10141bff08e96f0 is needed for the RHI support to build. Build against 6.6 to avoid these issues in the future. Task-number: QTBUG-118170 Change-Id: Id77df2894ccb2896c1e33f03b5a55b8f5e3a4375 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* doc: add tooling section to the main gridCristián Maureira-Fredes2023-11-034-24/+73
| | | | | | | | | | This add the existing section to our main grid page, so people can found the information quickly. Change-Id: I7f920c91886ebcd591e1aa5dcaf396af941d56c7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 93d59a4fe52e8dfc4fdff1ec63aaa9daa701eb2a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: bump dependencies versionsCristián Maureira-Fredes2023-11-031-6/+6
| | | | | | | Change-Id: I3164846450a45ec82be0c935cbb9539f2a49474f Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 31c927bf31ccc4dd23defa6d98868446bf5efd5e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Tell shiboken to process Qt headers inside system include dirsAlexandru Croitor2023-11-038-17/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building Qt For Python using yocto, the Qt headers are in a sysroot which libclang considers as system headers. Shiboken skips processing system headers. To ensure Qt headers are still processed, introduce a new --force-process-system-include-paths option to shiboken and two new CMake variables: PYSIDE_TREAT_QT_INCLUDE_DIRS_AS_NON_SYSTEM and SHIBOKEN_FORCE_PROCESS_SYSTEM_INCLUDE_PATHS. When PYSIDE_TREAT_QT_INCLUDE_DIRS_AS_NON_SYSTEM is set to true, the build system will pass the Qt include dirs to --force-process-system-include-paths to ensure the Qt headers are processed and their types extracted. Similarly SHIBOKEN_FORCE_PROCESS_SYSTEM_INCLUDE_PATHS can be passed a list of extra dir paths when creating non-Qt related bindings. Sysroots usually contain headers other than Qt headers, so there's a chance that a non-Qt-related system header fails to be be parsed and will fail the shiboken execution. To avoid breaking setups that previously worked because of the issue described above, the new options are opt-in rather than opt-out. In case one such an issue is encountered, the solution would be to copy / move the Qt headers into a separate location and specify the new location as both an include path and a force process system include path (in case the copied headers are still somewhere under the sysroot). Task-number: PYSIDE-1958 Change-Id: I1733478e9c6057f84de7864940c6150b378749cf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 7cc5c139482d735c49002649d26bb524c92cc86b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QMetaMethod::invoke()Friedemann Kleint2023-11-013-0/+137
| | | | | | | | | | | [ChangeLog][PySide6] QMetaMethod.invoke() has been added. Fixes: PYSIDE-2500 Change-Id: I270489ec9372ddfee19e9342c1312d8c446ee5d9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 824937e586aae2337980f382ac1bb298b10ea6d9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QMetaObject method invocation to accept all of the 10 argumentsFriedemann Kleint2023-11-014-69/+220
| | | | | | | | | | | | | | Refactor the helper injected into the QMetaObject wrapper code into helper functions in the QtCore glue code that handle all arguments of the QMetaObject::invokeMethod() overloads. Extract a std::function for the actuall call that helps to implement QMetaMethod::invoke() in a follow-up change. Task-number: PYSIDE-2500 Change-Id: I4f2b509a13d252dad92e388e1dfd607ae3eafcd1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit dfbf935717996dd22e0dcf48f199492bf0935a1f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Allow None in type hints of ↵Friedemann Kleint2023-11-011-2/+2
| | | | | | | | | | | QAbstractItemView.setModel()/QGraphicsView.setScene() Pick-to: 6.5 Fixes: PYSIDE-2514 Change-Id: I565f13de6515d441f7848d3b5c2477937b7af496 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 7004b33373def9b8b7e31ee93074fe309e8025fe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Allow specifying a shiboken debug-level from the build systemAlexandru Croitor2023-11-013-1/+18
| | | | | | | | | | | | | | | | The SHIBOKEN_DEBUG_LEVEL CMake or env var variables can now be set so that the build system passes that value to --debug-level of each shiboken invocation. The possible values are the ones that shiboken's command line parser expects: sparse, medium, full. This is useful for getting shiboken debug output in the CI. Change-Id: I62d99e8f67884638449a69b10803aca3b1230e7b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 669560b5042f141e189abad3f283ab3989253e5a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Add logs for showing default compiler include pathsAlexandru Croitor2023-11-011-0/+7
| | | | | | | | | | | | Add a log that dumps the compiler default include dirs output as returned by gppInternalIncludePaths(). This is shown when --debug-level=medium is passed to shiboken. Change-Id: Ie5d53f490fb78bc6325b9c9e3b216c74a34de7fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 14880be8f3586f37e8b43c9b284185f23b60953f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Allow passing extra generator flags via a CMake variableAlexandru Croitor2023-11-012-5/+8
| | | | | | | | | | | | | | | | | | | | | When building shiboken or pyside directly using CMake, allow passing extra command line options to the shiboken executable when generating bindings. The variable is called SHIBOKEN_GENERATOR_EXTRA_FLAGS and expects a semicolon list of extra options to pass. This is useful for cross-compilation to specify things like extra compiler flags or include paths that the API extractor should take into account when parsing sources. Task-number: PYSIDE-1958 Change-Id: I4896fc870d85861e7cc5adbb0e5ae7222ab61a40 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 3d8e5382fb8d1239f7390c06dcad3ca8a96e299e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Simplify spaces in function signaturesFriedemann Kleint2023-11-011-7/+7
| | | | | | | | | | | Allow for breaking lines when specifying long signatures. Task-number: PYSIDE-2500 Change-Id: I83f3f243eb1a1aaab814e96256abe62812cd6c4e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 22128c3d683bd556fb4efb070dc3fef5878ef9e0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use correct install locationsSamuli Piippo2023-11-014-4/+4
| | | | | | | | | | | | Use the correct install locations for QtAsyncio and designer plugin. Fixes: PYSIDE-2494 Change-Id: I760e8f52f19cd1f1cdf742a15df071c4f4deffa5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit d509e486fa2a931c177292ce0cb81ceecd24c81d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Output basicsize, mro, bases and underlying type in ↵Friedemann Kleint2023-11-011-5/+44
| | | | | | | | | | | | debugPyTypeObject() Pick-to: 6.5 Task-number: PYSIDE-2230 Change-Id: If5c581b4e1a4b17c4f11a353d2be574ec4a72b86 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit d8cf644e921f4c2de3073128775eea0321f5ca5c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix losing the default value when the type alteredFriedemann Kleint2023-10-301-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | The changes influence, for instance, the following line: ```python @staticmethod def translate( context: str, key: str, disambiguation: Optional[str] = ..., n: int = ... ) -> str: ... ``` Namely, the `disambiguation` argument now indicates that it has a default value. It seems that the `pyi-type` attribute of the modify-argument tag eats the argument default value. The commit should add the omitted values if they're provided. Initial-patch-by: Anton Yablokov (stsav012@gmail.com) Change-Id: Ie3914c3ef13578ef8cfff9ecb8c6c64f167b5360 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit e82812a17888e8bbf30908f790b16433b086a4ef) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add a quick check to the Enum-forgiveness modeFriedemann Kleint2023-10-301-0/+5
| | | | | | | | | | | Check in lookupUnqualifiedOrOldEnum() whether the name starts with a character to avoid looking up dunder/_slots attributes. Task-number: PYSIDE-1735 Change-Id: I989ddd3a89ec24809c640a492754a6ab179664de Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 090ce94f241496cdaac68eec4e7175b3e3395764) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Set error when instantiating a Signal on a non-QObjectFriedemann Kleint2023-10-271-1/+2
| | | | | | | | | Fixes: PYSIDE-2510 Pick-to: 6.5 Change-Id: Icc1461299907cc116bc75f5de994a687b85c1786 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 2a1034684b23f526631dd9d9e85a39f5bd3b71dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix signature of SignalInstance.connect()Friedemann Kleint2023-10-271-1/+3
| | | | | | | | | | | | Amends 7878a88aa638da63b8a2ec2200bbe18882277d21. Pick-to: 6.5 Fixes: PYSIDE-2509 Task-number: PYSIDE-1334 Change-Id: I92fc4021054b1473bd6769ffb9ff0e6803b5439e Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 205e6f1da941ef6fd2de7cec40f7fe9e8e9e90f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crashes related to broken QML decoratorsFriedemann Kleint2023-10-261-0/+3
| | | | | | | | | | Pick-to: 6.5 Task-number: PYSIDE-2432 Change-Id: I0108c944ce07e28f1af93a3f2adf51ebd76e92c4 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3b086f648a2387989ff21f90660dca1404f7f734) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Improve API extractor command line arguments parsingFriedemann Kleint2023-10-261-7/+12
| | | | | | | | | | | | | | Prevent empty include paths being added, throwing off the clang arguments parsing. Split lists discarding empty bits. Put the header file last. Amends 95314e809969bf38714a7b63651ce877621618d8. Task-number: PYSIDE-2505 Change-Id: If9949b4279729a0ba548dc57edb9c726668f5eca Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 9205a48848c881c67130e7b96e3ad98aa870052e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Refactor multiple inheritance offset calculationFriedemann Kleint2023-10-262-35/+52
| | | | | | | | | | | | | | | | | - Avoid std::set allocation by using standard algorithms operating on the int array instead. - Fix one-time initialization for hierarchies where all offsets are 0 by using -2 as magic constant. - Reduce mutex lock operations by initializing all base addresses in the wrapper map in one go. - Reduce mutex lock operations by releasing the base addresses in the wrapper map in one go. Task-number: PYSIDE-2506 Change-Id: I7c19b4287a9fcb7a47894b0a06bbeb5698cff7d7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 1a8923df9c9fbc5c55826fa43ab817ff3f28be0d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PEP 697: Introduce the SbkObjectType_Check functionChristian Tismer2023-10-254-0/+15
| | | | | | | | | | | | | | | | By Python 3.12, there is now an official way to extend heap types by custom extra data. In order to make that most effective, we can no longer accept every type in PepType_SOTP, but keep the types carefully apart. This is done with SbkObjectType_Check, which is very rarely necessary. Change-Id: I9cc4b594f2f676712ba92bf7733c4321b717f252 Task-number: PYSIDE-2230 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 29bd6b68ea241ae3a7c29103d8a79d80b79f233c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* File system explorer example: Improve shortcutsFriedemann Kleint2023-10-251-2/+3
| | | | | | | | | Use the standard keys for zoom and the common Ctrl+Q for quit. Change-Id: I3659a5a84bc1e46938729710af31c834b8a50ed8 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 2126068526d576ca739ec5d8f2ec0310d0343e0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken: Unify the structure of type creation functionsChristian Tismer2023-10-2510-261/+320
| | | | | | | | | | | | | | | | | It is the better concept to use the same structure for all type creation functions. We move the type slots and type specs into these functions. The calling function then always has the same structure of one static expression and returning the type. This might also save some space for shatic structures. Task-number: PYSIDE-2230 Change-Id: Ib972f210f44422eb1ebe47a0d92ac18a8377ac87 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit d74dca257111f82a7eb661791dafd360c3225bac) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Support running PySide on Python 3.12, extension bugChristian Tismer2023-10-243-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | When SbkTypeFactory._PyType_FromSpecWithBasesHack was written, the intent was to support everything for Python 3.12, although the new function PyType_FromMetaclass cannot be used with the Limited API. The supplied patch did not fix a problem that arises when a type is created without a base class that has the preferred metaclass. In PySide, this happens exactly in the case of SbkObject_type creation. The subtle bug was that metaclass SbkObjectType_Type was reported, but it really was still the old &PyType_Type. The patch fixes that by temporarily changing the type of object. Python 3.12 is the first version that requires that. Change-Id: I4d9d05ed93aa0e1fb297a0b931821ab9cae28ee9 Pick-to: 6.5 6.2 Task-number: PYSIDE-2230 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> (cherry picked from commit 897eaa60525099f2c3667148955732db7fed7271) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>