diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-02-25 16:03:31 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-03-10 12:37:30 +0100 |
| commit | e48b696ffab552785d38d72dff6c9dda796c9628 (patch) | |
| tree | 804a5d8a4fc77a99bb609404d56191f556e68b6a /sources/pyside6/libpysideqml | |
| parent | 5ace7efe56aac73b42cc040e4036f2ba72ecb2c9 (diff) | |
shiboken6: Handle pointers to containers
Opaque containers were disabled for functions taking a pointer to a
container since the number of indirections generated was incorrect.
Functions taking a pointer to a container where no opaque container
exists caused a crash since shiboken generated a value conversion to
an uninitialized pointer.
Change e4c2272dc60e1ff5e2d0933238fe4508af5f7f60 fixed the number of
indirections used for arguments.
With this, enable opaque containers also for functions taking a
pointer. Use the same code path also for the case of a function taking
a container by pointer since it provides a local variable to store the
value.
As a drive by, this also allows for a virtual function
reimplemented in Python to return an opaque container.
Change writePythonToCppTypeConversion() to return the
number of indirections in case of return types.
Remove flag CppGenerator::PythonToCppTypeConversionFlag.
[ChangeLog][shiboken6] Code generation for functions taking a
pointer to a container has been fixed.
Pick-to: 6.2
Task-number: PYSIDE-1605
Task-number: PYSIDE-1790
Change-Id: Ifa0bafb1316d7edfe1efc2183459b1ee6924f5a1
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6/libpysideqml')
0 files changed, 0 insertions, 0 deletions
