aboutsummaryrefslogtreecommitdiffstats
path: root/sources
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup version strings for 6.2.1 releaseSimo Fält2021-10-252-6/+6
| | | | | Change-Id: Ifb197c340b3ad692d8a74a74a00bdf5b3574d1af Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Ignore nullptr when fixing of default values of function argumentsFriedemann Kleint2021-10-222-3/+3
| | | | | | | | Task-number: PYSIDE-1691 Change-Id: I6ef69d065b7e47e15ca9b053b95db2d775b333e6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 2efc3669d07f77a08e334cf37913017523b8099b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Implement opaque containers for getters returning a const referenceFriedemann Kleint2021-10-227-16/+84
| | | | | | | | | | | | | | | Add a bool m_const member to the container helper template that indicates a const container. Error out of the modification functions if that is set. Create an additional creation function for the const case. A const opaque containers is then of same Python type as the non-const version, requiring no further type checks. Task-number: PYSIDE-1605 Change-Id: I45faeb0d68e6144a9dfbe25497694b8acdd98c09 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit e70fbd8d91af1fa9813bc1df7dfad44b1665957e) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Implement opaque containers for getters (non-const)Friedemann Kleint2021-10-2210-16/+99
| | | | | | | | | | | | | | | Extract helpers from the opaque containers generation for fields and use them for function returns if the type is modified accordingly. [ChangeLog][shiboken6] Getters returning containers by reference can now be modified to return an opaque container by modifying the return type accordingly. Task-number: PYSIDE-1605 Change-Id: Ieaf5eb92d248d3a23e511222e5f61823e85540c0 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit c0beb9f29f36ea3bc8be26675a05253cc5584fe4)
* shiboken6: Improve fixing of enum default values of function argumentsFriedemann Kleint2021-10-219-150/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | shiboken needs to fully qualify default arguments of functions so that they can be used outside the respective's class scope. This happens in AbstractMetaBuilderPrivate::fixDefaultValue() and ShibokenGenerator::guessScopeForDefaultValue(). This was confusing particularly for enums and flags, where AbstractMetaBuilderPrivate::fixDefaultValue() was doing a simple expansion and further cases were handled in ShibokenGenerator::guessScopeForDefaultFlagsValue(). To improve this and get it tested, move the enum/flags code completely over to AbstractMetaBuilder, restructure it, rewrite the helpers in terms of QStringView and make it a bit smarter: - Check for hex numbers as well. - No longer add a cast when constructing QFlags from a number(saves the need to observe the protected hack). - Expand expressions "A | B" as was before and additionally within a type cast "Options(A | B)". - Add a test. Task-number: PYSIDE-1691 Change-Id: I198995508e8ed01710a44708c425c31308908445 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 5888236a23f277e1f795052d5ed93a0430d834a4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Documentation: Fix platform note on getting started pageFriedemann Kleint2021-10-211-4/+3
| | | | | | | Change-Id: I0027bd16aa0b5dea6bd51fb3b0df1b5cfb605388 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit be8980798ad04a5c8a6cd32962349734ac6d223c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: include missing modulesCristián Maureira-Fredes2021-10-206-72/+98
| | | | | | | | | | | | | | | | | | | The following modules were not generated automatically in the documentation: - QtBluetooth - QtDBus - QtNetworkAuth - QtRemoteObjects - QtSerialPort The two column order of the modules.rst page was removed in favor of moving the page to a box-style in the future. Fixes: PYSIDE-1694 Change-Id: Ied62d15c0f4574d0e4f5a8202e5f08692f63e001 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 136c777f0c39b197f9f893f17006173f7be1d5de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Add QCborTagFriedemann Kleint2021-10-202-1/+4
| | | | | | | | | Fixes: PYSIDE-1691 Change-Id: I023b4ffe280b431d883673f5120236ba3f9c0991 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 0432c7358dc38a5e78464feccd11d7ce4fc4b1a1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* libshiboken: Fix a crash with enums with no valuesFriedemann Kleint2021-10-201-0/+2
| | | | | | | | | | Handle null-return of PyDict_GetItem(). Task-number: PYSIDE-1691 Change-Id: Ia317cd15cf3d15c05e22a8b8db262d227c4dcb84 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit fcbe7aee1e97df0307f4d30185203a550cdd1b89) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Handle enum default values that are casts from intFriedemann Kleint2021-10-201-2/+14
| | | | | | | | | | | | The helper resolveScopePrefix() would expand Enum(-1) to Enum::Enum(-1), assuming it is an enumeration value. Add a check to prevent that for casts. Task-number: PYSIDE-1691 Change-Id: I403653b7655d7cccacb5737faf074cab55f30397 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 0cad4ccc6a3dbeb4eae135eebdb7eaf14b745742) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix a signature warning about QEvent.Type.NoneFriedemann Kleint2021-10-191-0/+1
| | | | | | | | | | | Add QEvent.Type.None, fixing: UNRECOGNIZED: 'QEvent.Type.None' OFFENDING LINE: 'PySide6.QtWidgets.QGraphicsSceneHelpEvent(self,type:PySide6.QtCore.QEvent.Type=QEvent.Type.None) Change-Id: Icb40ee6d01a3d744250cf60b728687c38f315f55 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 0bb9ff7925eca9616937b170c71a8581990a38dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Handle enums without valuesFriedemann Kleint2021-10-183-3/+21
| | | | | | | | | | | | | shiboken used to ignore enumerations without values assuming they were just forward declaration of an enum classes. It turns out that there are such cases (QCborTag). To fix this, add empty enums always and replace them by the ones with values. Task-number: PYSIDE-1691 Change-Id: I5de69f86ed45bd9f239e6d6017e7dc4a554f5378 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit a1569c142dc3a357ac6232925bfb0b4d84e29e5a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add an option to disable implicit conversionsFriedemann Kleint2021-10-144-21/+47
| | | | | | | | | | | | | | Add option and extract a helper to return the list of implicit conversions depending on it. [ChangeLog][shiboken6] An option to disable implicit conversions has been added. Task-number: PYSIDE-1669 Change-Id: Iaefbbf272a6c033bac10635f48057dd69fc83549 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 78d929b957bfe200806602e1e1dfedd7e044cb20) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Fix constructing a QFont from a family stringFriedemann Kleint2021-10-123-0/+64
| | | | | | | | | | | | Change qtbase/d8602ce58b6ef268be84b9aa0166b0c3fa6a96e8 added QFont(QStringList) which now triggers for strings as well since they are a sequence. Fix by specifying overload numbers. Fixes: PYSIDE-1685 Change-Id: Ic78c2b273fe81949f852ea6e0f578613bc0a623a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 0c4b73611801c788849f0bcf93737c670b61ee03) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken6: Adapt to LLVM 12.01Friedemann Kleint2021-10-121-1/+3
| | | | | | | | | | | The identifier for anonymous enums has been changed, causing shiboken to no longer recognize them. Task-number: PYSIDE-1686 Change-Id: I4d463132b8bd3fffa0b57f03be6c58ecbae94a49 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 1948a1b6f9a3547ba9fba9b8c525eb6e1c6b4f13) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken: fix missing cleanup in overridden virtual methods of wrappersChristian Tismer2021-10-121-22/+25
| | | | | | | | | | | | | | | | | | | | | | In an error condition, all arguments must be invalidated in order to get a clean state. This is currently not done when an error condition exists. Rewrite the code to generate in a way that all destructions are done, regardless of function outcome. That needed some reordering of the code, in order to move the necessary cleanup right after the Python function call and before PyErr_Print/return. [ChangeLog][shiboken6] Overridden virtual methods are now always correctly finalized, regardless of errors. Change-Id: If87cc4631f9b5731c1b1b8c7bf204e72d8744cc7 Fixes: PYSIDE-656 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3e5bfbff99334b8c15ee705079d5a7f0cfa371d5)
* PySide6: Add qmlRegister functions taking a library URLFriedemann Kleint2021-10-114-0/+91
| | | | | | | | Fixes: PYSIDE-1631 Change-Id: I082c3576c24f772190cc103da787311b43acf88c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 87d1bb58877bb956e8fe15e262d173ddaa011b08) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shiboken: do some cleanup for writeVirtualMethodNative before fixingChristian Tismer2021-10-111-56/+62
| | | | | | | | | | | | | | | The function `writeVirtualMethodNative` has some omission problems in the finalization when an error occurred. Before fixing that error, do some cleanup of the code and improve the formatting to prevent overly long lines both in the generated and the source code. Task-number: PYSIDE-656 Change-Id: I3ff2ee8518aaf8e8c73039970f2c014a87073f5f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 598928f4aa76cc5eeca7ca7a7df82b3fbcdff769) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6/Clang parser: Replace #ifdefery for compiler/platform by variablesFriedemann Kleint2021-10-083-118/+92
| | | | | | | | | | | | Introduce enumerations for compiler and platform. Add variables, initialize them by #ifdefs and use accessor functions instead of versions. This lays the groundwork for cross-compiling. Task-number: PYSIDE-802 Change-Id: I988bb9e963f6205a6433d3e48c05b7a8823f8398 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 1db8fe5d80496be390e19d31ca9c8b87ed7579a4)
* shiboken6/Clang parser: Refactor include checkingFriedemann Kleint2021-10-086-74/+77
| | | | | | | | | | | | | | | | | In the base class BaseVisitor of the clang parser, check whether the file has changed by comparing the CXFile. If it has changed, convert the file name to a QString and call visitLocation(). The code is then faster since the file name checks are only performed when the CXFile changes. The check code operating on QString becomes simpler and can be extended more easily. Task-number: PYSIDE-802 Task-number: PYSIDE-1660 Change-Id: I1dd22ef91a4a7b96d05507b43511313507281fd6 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 ba6179ceba84e925748068b83624c1921cfbf6d7)
* PySide6: Fix hang in QQmlApplicationEngine functions with message handlerFriedemann Kleint2021-10-071-1/+6
| | | | | | | | | | Add allow-thread. Fixes: PYSIDE-1681 Change-Id: I624979c5845a3366bcd9d7827ff2c77438ec54f3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit b8dadf54c3736b52a770d7715c8320a4dd016427) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add a signals and slots tutorialFriedemann Kleint2021-10-073-0/+236
| | | | | | | | Task-number: PYSIDE-841 Change-Id: I7e78f97fed206f0722e50d967ec84800d3bef810 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit a53318e661238ae155f9cd5692bf255c333ee292) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Enable the SSL methods of QWebSocketsFriedemann Kleint2021-10-051-11/+0
| | | | | | | | Fixes: PYSIDE-610 Change-Id: I120816a1ce7612b8390037713fef255711019c19 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 2bdb0154c9409169f1b1d143cb328b741fe09568) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Fix QObject.property() for QFlag typesFriedemann Kleint2021-10-052-0/+15
| | | | | | | | | | | | | | QObject::property() returns a QVariant for whose type a shiboken converter is retrieved by name (QVariant::typeName()). This fails for QFlags types since QVariant::typeName() returns the fully expanded name QFlag<Enum>. Register the flags converter under that name, too, to fix this. Fixes: PYSIDE-1673 Change-Id: I23e83da34b82196d76b78fa44f67647da65737c8 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 292a8e2426b14f98f4863dc58b5bf363ca97e748) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* PySide6: Expose QVideoFrame::bits(int)Friedemann Kleint2021-10-042-4/+4
| | | | | | | | | | | | QVideoFrame::bits() was removed in Qt 6; expose QVideoFrame::bits(int plane). Fixes: PYSIDE-1674 Change-Id: I23f58f71286e445ad1b1e170924ee5e40f0b2491 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit d410d3b621a9273be7a466a7ab3eb278fc225cdf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix hang in test bug_430.py in Qt 6.3Friedemann Kleint2021-10-041-6/+8
| | | | | | | | | | | | Terminating the application via closing the last window only works when the window was actually shown. Add a call to show() and reformat code. Task-number: QTBUG-97033 Change-Id: I1e0a82d1baf1676de5a38c1a8fd2408e104b464a Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 01b31e518ce4fa82c58db6ae89f481be152eb4dc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Documentation: Fix missing signal/slot lists in class documentationFriedemann Kleint2021-10-017-24/+34
| | | | | | | | | | | | | | | | | | | shiboken needs to run with pyside extensions to parse the Qt annoations correctly. Change 62c21af778b7bff6c86e7f89ef03a87efa6c51cb moved the compiler defines from the pyside global header into shiboken. This caused the function type detection to fail in the doc generator since it did not pyside extensions and thus signals/slots were listed as normal functions. To fix this, move the --enable-pyside-extensions option to the base class Generator and add it to documentation's CMakeLists.txt. Change-Id: I70142367ee01839d8e44cbf31e894991cf941197 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 614787bfc8f0210e30beecc0f03c9fe772f9c139) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Shiboken: avoid an unused function warningChristian Tismer2021-10-011-1/+1
| | | | | | Change-Id: Iaa4454568d10c8f1e82c1f02d5bc128273e8dff6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 0c66bde5c8c0836ac657fb1f80d1a3bf39458d9a)
* pep386impl: fix a left-over from the Python 2 cleanupChristian Tismer2021-10-014-51/+1
| | | | | | | | | | | | | _PepLong_AsInt still existed. This may be again a rebasing glitch. Found when doing the first attempt to build PySide on PyPy with Windows :) Task-number: PYSIDE-535 Change-Id: Ic0b6167bc08c9da8e0d34d6ef2d5b71c8ee548c1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 82219d035526f2e587db3adc90c03d4901bfba77)
* shiboken6: Document builtin custom typesFriedemann Kleint2021-09-303-0/+24
| | | | | | | | Task-number: PYSIDE-1660 Change-Id: Ia602fcad2bfca2e92bc7e8363ac096558c064114 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 2c5110afa7ccef7e9ed0e2b4ac26fc934054815a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update the online CSS to scale the iconsVenugopal Shivashankar2021-09-291-1/+2
| | | | | | | | | The scaled icons look better. Change-Id: I66b95372787f3b78a1d4cb2e6bc0f7a2f48b0908 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit fb58c474ec579d819048fd8b29f8d20b3382255d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Documentation: Fix qtpositioning path for buildCristián Maureira-Fredes2021-09-281-2/+2
| | | | | | | Change-Id: Ia9f93a9d9cb6d31da3bf5a73a62a47a414b5f4c8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit c6684ec87aa2bf5f6416cae9776ba3f0dad45d3c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Properly specify extra include for Qt core module source fileFriedemann Kleint2021-09-284-14/+23
| | | | | | | | | | | | | | Replace the hack adding the include to a primitive by an extra-include element. This is actually implemented in code, but not documented. As a drive-by fix the code to only write the comment when includes are present. Adapt the documentation accordingly. Task-number: PYSIDE-1660 Change-Id: I06520f4747d02f2b3e86f90c09220d82e91f95ff Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 418f43f7011281bd2d78f2aa43bb6b3cc666220d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump version stringsSimo Fält2021-09-272-2/+2
| | | | | Change-Id: Id8ba553cc8c46f4761729b3d712a36d657ebb2de Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: fix warnings from rst filesCristián Maureira-Fredes2021-09-272-3/+3
| | | | | Change-Id: I97166f7e89c0365f425d1f8b0b840b7ef066d0d7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* doc: fix missing image in why qt for pythonCristián Maureira-Fredes2021-09-271-0/+3
| | | | | Change-Id: I001f8e1ed3c40e4be8eebebe6a44a1c0c9c869a9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Document the usage of NuitkaChristian Tismer2021-09-242-0/+142
| | | | | | | | | This documentation is adapted from the document deployment-pyinstaller.rst . Task-number: PYSIDE-1523 Change-Id: I2f42d596ea1073158ff8c198ed01a5816c745d58 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: TypeEntry: Use a pointer to the target lang API type entryFriedemann Kleint2021-09-247-37/+88
| | | | | | | | | | | | | Replace the string m_targetLangApiName by a pointer to the type entry; allowing to retrieve the check function. Similarly, in TargetToNativeConversion::sourceTypeCheck(), use the existing type entry to retrieve the check function, allowing for removing some heuristics. Task-number: PYSIDE-1660 Change-Id: Ieeda43f804b4e129d3cc0984e36bd0c0d546fd86 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Add built-in CPython typesFriedemann Kleint2021-09-248-21/+134
| | | | | | | | | | | | | | Add the CPython types along with their check functions. Introduce a new Python type entry for this. [ChangeLog][shiboken6] CPython types like PyObject, PySequence are now built into shiboken6 and no longer need to be specified in the typesystem files. Task-number: PYSIDE-1660 Change-Id: Ia2a7e5445c11b99cae069818aa5b0e1aa169533c Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add opaque containers for C++ sequence containersFriedemann Kleint2021-09-2428-17/+827
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a class that directly wraps a C++ sequence container, allow for modifying them. For all instantiated containers, generate a special (sequence) type that wraps the C++ container directly. For example, it will be accessible as a QList_int. This is achieved via providing a template for a type private that relies on a conversion traits template for conversion. Only the conversion traits specialization code needs to be generated. Use cases: - Allowing for modifying Fields of such container types (non-owning) - Pass it into functions taking such containers instead of converting back and forth from a PyList (constructed in Python, owning) [ChangeLog][shiboken6] Support for opaque C++ sequence scontainers has been added, allowing to pass a wrapped C++ container directly instead of converting it back and forth from Python sequences. Task-number: PYSIDE-1605 Change-Id: I49d378eb1a0151730d817d5bdd4b71a7c3b5cdda Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Rewrite conversionsFriedemann Kleint2021-09-245-20/+98
| | | | | | | | | | | | | | | | | | | | | Currently, the isPythonToCpp(Value/Reference/Pointer)Convertible functions used by the overload decisor return a function pointer. In the case of isPythonToCppReferenceConvertible, this can be either a pointer conversion taking a Foo** or a value conversion taking a Foo*. The function isImplicitConversion(SbkObjectType *, PythonToCppFunc) is called further down in the generated code to check whether it is a value or a pointer. In order to get rid of this, introduce a new version of the checking function that returns a struct that has the function and knows its type. Add an overload of isPythonToCppReferenceConvertible() taking a SbkConverter for the upcoming opaque containers. Task-number: PYSIDE-1605 Change-Id: I49f70b85d01500d95208f0f2dd290bf23cb80eff Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Improve message for a mismatched global functionFriedemann Kleint2021-09-243-4/+27
| | | | | | | | Output a list of candidates with matching name in case some type was misspelt. Change-Id: Ie763a912d02907d562f3feeb2eba44e811d80118 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken6: Fix an impossible reference to type_newChristian Tismer2021-09-232-1/+7
| | | | | | | | | | | | | | | | | | [ChangeLog][shiboken6] It is now possible to derive classes from enum types like `QtCore.Key` in earlier Python versions. In SbkEnumTypeTpNew the reference to `PyType_Type.tp_new` was made through `PyType_GetSlot` in a Limited API compatible way. Unfortunately, `PyType_GetSlot` works for non-heaptypes in Python 3.10, only, and `PyType_Type is not a heaptype. This was found while creating a minimum example to prove that the PyPy implementation of type_new is not correct. Task-number: PYSIDE-535 Change-Id: Ibe300f4670d9db6d29fbdeb1d147e1a074ec23c6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Improve typesystem debug outputFriedemann Kleint2021-09-222-1/+22
| | | | | | | | | | | Add some debug output for PrimitiveTypeEntry and indicate built-in types. As a drive-by, add explamatory comment. Task-number: PYSIDE-1660 Change-Id: I870b7f3c2d344a6a3944ea8ac7ccb0d864cbe294 Reviewed-by: Christian Tismer <tismer@stackless.com>
* tutorials: update datavisualization and expensesCristián Maureira-Fredes2021-09-2228-78/+141
| | | | | | | | | | | | | | | These tutorials were removed due to QtCharts not being available, additionally due to the QtCharts namespace changes the code needed to be adjusted. Adding panels for the tutorials to display as cards instead of a list, and creating a new section called 'General Applications'. Task-number: PYSIDE-841 Change-Id: I18fbce3fd48ed35013bcc82013ffc6e06f005b03 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Refactor PrimitiveTypeEntry::basicReferencedTypeEntry()Friedemann Kleint2021-09-228-79/+59
| | | | | | | | | | | | | | | | | Change it to always return "this" or the referenced type and add another getter referencesType() to check whether it actually references another entry. Also add another convenience function TypeEntry::asPrimitive(). This saves a lot of if's. Also remove ShibokenGenerator::pythonPrimitiveTypeName(PrimitiveTypeEntry *). Task-number: PYSIDE-1660 Change-Id: I7b3c2f32e67d64176bf0b9f11a2c4dea2d6273ba Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix QSurfaceDataProxy::resetArray() crashCristián Maureira-Fredes2021-09-212-2/+10
| | | | | | | | | | Pass an allocated array to the function. Complements dd4d4fe1ee74cc6dae370a8a9dcced53dc9a3898. Task-number: PYSIDE-1438 Change-Id: I4120a0dbeb3a4a4a740125ba9c27f78e61875457 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Fix an invalid static_castFriedemann Kleint2021-09-211-4/+5
| | | | | | | | | | The argument type is not necessarily a PrimitiveTypeEntry. Task-number: PYSIDE-1660 Pick-to: 6.1 5.15 Change-Id: I312f20e24cfe888d10c218db596d29c3ab318bd6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: API Adaptions for 6.2Friedemann Kleint2021-09-214-4/+1
| | | | | | | | | Add missing enum QLocalSocket::SocketOption and remove obsolete enums and functions. Task-number: PYSIDE-1570 Change-Id: I2d89e116d2360fd49dac0343acf1e85d2442e5e1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Clean the rejected typesFriedemann Kleint2021-09-211-17/+0
| | | | | | | | Remove obsolete types. Pick-to: 6.1 Change-Id: I6397f354fd02d47810668b93a65a661865697531 Reviewed-by: Christian Tismer <tismer@stackless.com>