diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2025-05-13 13:18:55 +0200 |
|---|---|---|
| committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2025-05-19 10:35:26 +0000 |
| commit | 098b39f8f7634ed56e72908ae627f72ea32a1e9b (patch) | |
| tree | 6125b38434f51beb051512994f668165581f4141 /build_scripts/wheel_files.py | |
| parent | 3cf72203bbeb780cf94d666ac7905af43ba7dfd0 (diff) | |
Fix crash retrieving a PyObject type property via QVariant<PyObjectWrapper>
The old code registered a Shiboken converter for PyObjectWrapper by
pointer conversion. This resulted in the Python to C++ converter
falling back to plain pointer passthrough since it only works for
SbkObjects.
The C++ to Python conversion worked by coincidence for either raw
PyObject * pointers used in meta call handling or pointers obtained
from calling QVariant<PyObjectWrapper>.data(), but without handling
reference counts.
To fix this, remove the Python to C++ conversion entirely and do this
manually via QVariant. Change the C++ to Python to be by value and use
PyObjectWrapper.
Fixes: PYSIDE-2193
Change-Id: I00898894651f220d7b8fe60608e93233ef3e6493
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
(cherry picked from commit 62e72aa6db6af546aa6a96be027e6f0c57cd8f3e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'build_scripts/wheel_files.py')
0 files changed, 0 insertions, 0 deletions
