| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
As of 3.14, the interpreter will sometimes just borrow references and
newly created objects may have different initial reference counts.
Pick-to: 6.10 6.8
Task-number: PYSIDE-3147
Change-Id: I845460202abb95715ebf395b378b81b7790660bb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Traverse the typedefs of a scope and check whether they point to some
enumeration and whether a type entry for the source exists. Add these
like normal enums. In the converter type check, add a clause for the
alias source/target type, allowing for using the values
interchangeably.
[ChangeLog][shiboken6] shiboken6 can now also generate typedef'ed
enumerations for purposes of renaming/deprecating enumerations.
Pick-to: 6.10
Change-Id: Iec10c53b1167b958647242cedb04f8ff01ad1085
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the Limited API, PyTypeObject is an opaque struct, for which
libshiboken provides a dummy definition.
PyType_GetFullyQualifiedName() (stable API since 3.13) can be used as
a replacement, but it returns a PyObject.
Add a convenience function PepType_GetFullyQualifiedNameStr() similar
to the existing PepType_GetNameStr() to return a C-string.
Leave the 3.13 code commented out for the moment since it causes a
crash.
This does not cover occurrences of tp_name passed as strings
to Python formatting functions using the %s placeholder since that
can be replaced by the new %N/%T placeholder starting from 3.13.
Task-number: PYSIDE-3171
Change-Id: I4a073872cd0d138b8d8c6aafb08ccb33451812ca
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Replace by PyLong_AsLong()
Pick-to: 6.9 6.8
Task-number: PYSIDE-3147
Change-Id: Ie8e7edac7c92d7d4e126431921dfced387e588e6
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As of 3.14, the interpreter will sometimes just borrow references and
newly created objects may have different initial reference counts. Fix
the test cases where a base ref count of a new object is compared
against.
Pick-to: 6.9 6.8
Task-number: PYSIDE-3147
Change-Id: I698be2309362fc65f6727971a5cec4fc4f40cf2e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add search for the instantation name when resolving types along with a
test.
[ChangeLog][shiboken6] Template specializations
like "std::optional<int>" can now be specified as primitive types
with converter code.
Change-Id: I20845b21ede1101cb3015de90555b74368f686e9
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.9 6.8
Change-Id: I85820ef691ad8e08ccbb1d7a4c3dea6d3f364c1a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
This is matched by a fallback mechanism at the moment.
Pick-to: 6.9 6.8
Change-Id: I9247fc512eb26007a88172d9c2a66b10e916d423
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Import Callable, Iterable and Sequence from collections.abc,
since using them from typing is deprecated.
Pick-to: 6.8
Task-number: PYSIDE-3012
Change-Id: I131c00005df410fdaa40b338a2a728512269aaa0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
| |
Provide a function for deleting the array. Use new char[]
consistently.
Change-Id: Ic02407f216814a7736e6073a0d27a6e9f83f9acd
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
In the remaining code, use nullptr and streamline.
Pick-to: 6.8
Change-Id: I3c58aaef3a6cdd332ba2e32e0bcb2c17e32f0244
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
The old name was modeled after std::auto_ptr, which has
been deprecated for quite a while.
[ChangeLog][shiboken6] Helper class AutoArrayPointer has been renamed
to ArrayPointer. A convenience typedef is provided.
Change-Id: I067b22a102961348067a131fcc6e6b5fc42d3f76
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Generalize the concept which so far has been only used for
std::unique_ptr.
[ChangeLog][shiboken6] The handling of move only value types are has
been improved
Task-number: PYSIDE-3004
Change-Id: Ic509ceec7d78f4a576d1963724c898ed99110078
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 2107b9c16d7be1292c5439a47ed31871906e0b1f implemented making
base class functions visible via "using" directive. However, since it
was implemented in getInheritedFunctions() based on names, it did not
work for constructors since they have a different name.
As a consequence, no tp_init function was generated for the test case
and the tp_init function was called instead, creating a base class
instance.
Add a function that adds the base constructors for the simple
case of the class having no constructor in case "using" was
specified.
Add a data member to the test to test this.
[ChangeLog][Shiboken6] Making base class constructors
visible via "using" directive has been fixed for simple cases.
Pick-to: 6.8
Task-number: PYSIDE-2966
Change-Id: I8e11cdaf0d1af0f7fad7834039a23322e146c9e0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: PYSIDE-1735
Change-Id: I5a907b536b36521eb6dd5fcdc1ad1094bb031aa8
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Considering we are not compatible with Python 2 anymore,
we can drop the 'object' explicit inheritance in the class
declaration.
Pick-to: 6.8
Change-Id: Iac3a95aa9721c3ff1a755f457c0936ca157a8470
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By turning over to positional-only parameters, some signatures
should be preferred to remove over others.
QMessage.warning had two signatures that became equal when
ignoring the names.
Use the version which has more default values in that case.
Some forgotten return types were added.
Change-Id: I200f10eb5742a595fafc3106a8e5fbc9a932c75b
Pick-to: 6.8
Task-number: PYSIDE-2846
Fixes: PYSIDE-2939
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This change would have been very simple (basically one constant)
if there were not mypy which needed more effort to stay correct.
Change-Id: I464b0522f9d174c5a302f85caf2fcbe202dcaed2
Pick-to: 6.8
Fixes: PYSIDE-2624
Task-number: PYSIDE-2846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Remove old macros usages for the Limited API compatibility,
and doing some refactorings to their usages.
Change-Id: I10d675a1831d26b3fc878151e3a6ec40c5caddb1
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
macros
Removing old macros for compatibility with the limited api,
and refactoring some of their usages
Change-Id: I33954199d2ef9884c64b963863b97aed851c440f
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Removing old compatibility macros for the initial limited api
implementation.
Change-Id: Iced149450bd9bda18e43ac0acea0061cdcdb211e
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySequence_Fast_GET_SIZE is defined as:
(PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o))
and when using the Limited API we re-define the _GET_SIZE macro
to be the _Size function, and considering this is our standard
use case, the macro could be replaced directly by the function.
Replacing also some cases were int was used instead of Py_ssize_t
when using PySequence_Size.
Pick-to: 6.8
Change-Id: I31aecd571a1d8ea82a3441f0b9e16ee19f026b05
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySequence_Fast_GET_ITEM is defined as:
(PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i))
and when using the Limited API we re-define the _GET_ITEM macro
to be the _GetItem function, and considering this is our standard
use case, the macro could be replaced directly by the function.
However, the function returns a new reference, so we need to manually
drecrease a reference after the usage, to avoid reference counting
issues.
Change-Id: If361e80b9e40b033e009ad46b2b9430e5b4c8eaa
Pick-to: 6.8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
__str__ and __repr__ are simply fixed by returning str instead
of PyObject.
__reduce__ actually has return type "str | tuple[Any, ...]",
but using str here too fits the purpose.
Errors before: 533
Errors after: 450
Change-Id: I6dd3527d3f5f3f035e667d0ca3c8f123e94e844f
Task-number: PYSIDE-2846
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fullname field has been removed, and the signature
structures can be optionally compressed.
Add a build option for switching these and future compiler
features off.
Combinable flags:
--unoptimize=fullname
--unoptimize=compression
--unoptimize=folding (to be implemented)
or just
--unoptimize=all
Task-number: PYSIDE-2701
Change-Id: I605dc810542ce99f99d9a6b6432e5feae09273b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
| |
Add a future statement to all Python source files.
Task-number: PYSIDE-2786
Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Introduce "Python override" as a special type of user-added function
which will cause a function calling a Python override into the native
wrapper. This can then be called from a virtual that has a signature
which cannot be handled in Python.
Fixes: PYSIDE-2602
Pick-to: 6.7
Change-Id: I5fc44ebe3f585078e87d3230d5e6f4faa67a4ee1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Use PyLong_AsDouble().
Pick-to: 6.7 6.6 6.5 6.2
Fixes: PYSIDE-2652
Change-Id: I97787ba9dd6cb348e45b43228cad4a87afe54a7b
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The central get function is used very often. Since the string
constants are repeated many times and there seems to be no
constant folding, it is better to re-arrange the structure
a bit to avoid code bloat.
By moving the get arguments into a struct, we avoid all
repetitions of string constants and minimize the runtime
overhead.
The structure is now fully backward compatible and
works with unchanged scriptableapplication.
Task-number: PYSIDE-2404
Change-Id: Ie7c788ef75cc3d58366532c5f14ab013ebd792b5
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
- Remove * imports
- Remove a hidden test that was non-functional
Pick-to: 6.6 6.5
Change-Id: I34c98ef81d0ebe11b0813670149c00cfcff4eb28
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
Store the source location in the clang parser so that it appears
in the message. Also add the access level.
Change-Id: I9a9ca414a41a3fa4584dd55d580aa01bb252f9c7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make it a proper object type with a unique pointer.
Use the new std::filesystem API to retrieve size and
check for existence instead of opening and winding.
Pick-to: 6.6
Fixes: PYSIDE-2479
Change-Id: I07e64a2b002195c7b6bce3526ef3ec6ea30a555e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove the unused CT default parameter value
ObjectType::defaultInstance() which would have led to deletion of a
stack object. Turn it into a <object-type> and disable copy/move.
Pick-to: 6.6
Task-number: PYSIDE-2479
Change-Id: I010f8d27664a37999742c47e6e446e702853344c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The test injected code to manipulate the overload number of the
overload decisor and change values based on that which lead to
unpleasant surprises when adding copy and move constructors. Spell it
out to do some basic string parsing instead.
Pick-to: 6.6
Task-number: PYSIDE-2479
Change-Id: I7a6fb9c8c22532a20711b4854f5c9b3b0d81d213
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builtin types no longer have tp_dict set. We need to
use PyType_GetDict, instead. This works without Limited API
at the moment.
With some great cheating, this works with Limited API, too.
We emulate PyType_GetDict by tp_dict if that is not 0.
Otherwise we create an empty dict.
Some small changes to Exception handling and longer
warm-up in leaking tests were found, too.
Pick-to: 6.6 6.5 6.2
Task-number: PYSIDE-2230
Change-Id: I8a56de6208ec00979255b39b5784dfc9b4b92def
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][shiboken6] operator int() and/or operator double()
on classes are now used to provide the __int__ and/or __float__
special functions enabling the use of int() and float() for numerical
types.
Fixes: PYSIDE-2446
Change-Id: Iabb6392b5754d6e31d44209cfdd27d38c5055b2c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add mapping for non-operator functions that serve as special nb slots.
[ChangeLog][shiboken6] It is now possible to add the special functions
__abs__ and __pow__, enabling the use of abs() and pow() for numerical
types.
Task-number: PYSIDE-2446
Change-Id: Iff4b88ad927273df5688c7350c0f45bb7618f05b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a basic complex number based on std::complex
with some number protocols (note the name Complex
is already taken by a primitive type in libsample).
Pick-to: 6.5
Task-number: PYSIDE-2446
Change-Id: Ie1427761c0048f57a02bc8d59c3181567ce3a199
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
As a drive-by, introduce a new test class for primitive types.
Pick-to: 6.5 6.2
Fixes: PYSIDE-2417
Change-Id: I22d4f04e4d0f95c9220aa9241195bc1747f83d9e
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I261ec7ec933e21658d357ad1ffbeb4de5b84d13f
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable functions taking rvalue references if they are user-defined in
some way. Enabling by default is not done since there are cases in
which several overloads exist (QSqlQueryModel::setQuery(QSqlQuery)).
In these cases, they should not be part of the candidate list.
[ChangeLog][shiboken6] Experimental support for rvalue references
has been added.
Task-number: PYSIDE-2394
Task-number: PYSIDE-1790
Change-Id: Ie2eb60ef19ddac321126b64cd0c35913bd805b48
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-1735
Change-Id: I51e68c50872f1d1254218ae7556ba607f73c4ea9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The new Enum implementation can no longer be switched off.
Individual features can still be deselected with the
environment variable PYSIDE6_OPTION_PYTHON_ENUM which
had the name PYSIDE63_OPTION_PYTHON_ENUM before.
This change is meant for PySide 6.6 .
Task-number: PYSIDE-1735
Change-Id: Iae5b7a9d42a0d7b005dbba20201a80713ef79be9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PySide does not implement multiple inheritance.
Please see "About Multiple Inheritance in Python" at the issue.
This patch just supports the `__init__` call.
A more consequent implementation will follow that
supports multiple inheritance with every method.
[ChangeLog][pyside6] Cooperative multiple inheritance is now
implemented for all __init__ methods.
Fixes: PYSIDE-1564
Change-Id: I8df805d22c2052c3a9747420a86341f64e29a5ad
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This manifests in QtDataVisualization's
const QBarDataArray *QBarDataProxy::array() const
where QBarDataArray is handled as a primitive type.
This required adapting a code snippet which was relying
on the argument QString* being treated as QString.
Task-number: PYSIDE-2206
Change-Id: Ib05f01d7b54e103cf5bb71be86ffa9b5067ca3fb
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Task-number: QTBUG-105718
Task-number: QTBUG-88621
Change-Id: I98bd2e80f182d8bf7aef6b633f37a428e2dac69b
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __signature__ attribute was used since 2017 with success.
With Python 3.10, there was an incompatibility introduced by
the rlcompleter module. This was detected quite late, because
there is no exception thrown in normal line completion.
Using the rlcompleter module directly, the error can be seen.
The problem is not the attribute itself, but PySide's need to
support *multi-signature*. The signature objects are either
regular compatible Signature objects, or in the multi-case,
*lists* thereof.
Since PyPy was implemented, the internal use of the __signature__
attribute was replaced by a get_signature() call. The attribute
was never documented in the public until recently in the
developer docs. We therefor can assume that removal of the
attribute will cause no problems.
[ChangeLog][PySide6] The non-standard __signature__ attribute of
functions and classes was removed in favor of get_signature().
No Pick-to because this is meant for 6.5
Change-Id: Iaa8bb08a33db66868d949593e527b753bf989681
Fixes: PYSIDE-2101
Task-number: PYSIDE-510
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
It clashes with the Windows HANDLE typedef in CMake UNITY_BUILD
(jumbo) builds.
Task-number: PYSIDE-2155
Change-Id: Ic5d6654651ead85aa08e2375510fe644cbf6dc3e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Makes navigation with Qt Creator easier.
Change-Id: I40c6bc641faddcdbd265d6e886c2f3bd3b271be5
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
| |
Pick-to: 6.4
Change-Id: Ibca923deadadc868edace34a4e310b77be000291
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|