diff options
| author | Christian Tismer <tismer@stackless.com> | 2021-04-18 18:58:18 +0200 |
|---|---|---|
| committer | Christian Tismer <tismer@stackless.com> | 2021-12-03 10:12:21 +0100 |
| commit | e85db57ecf9e998206eefe93433ee58c6f8c1f47 (patch) | |
| tree | 2cf89e0b03b87500f96ee4e4690b89cacd7c5737 /sources/pyside6/tests/QtQml/javascript_exceptions.py | |
| parent | 79ec52558acc48b0c368738bf1fcc5195921cafb (diff) | |
PyPySide: Avoid direct access to `op->ob_dict` in PyPy
PyPy treats `op->ob_dict` specially. When you use PyObject_SetAttr
and look later for the attribute in the object's dict, you cannot
find it. PySide uses direct access to `ob_dict` which has this side
effect and was a major obstacle until the PyPy people explained the
undocumented behavior.
We either need to use a different attribute name than "ob_dict", or use
the C API for dict access. The second, simpler solution turned out to be
sufficient. Since the used function is in the Stable ABI in version
Python 3.10 only, we implemented a replacement function in basewrapper.
This change was crucial and led to the first public version.
[ChangeLog][shiboken6] PyPySide: Direct access to `op->ob_dict` needed
to be avoided in PyPy. This important change took the project far
enough to publish it as a preview and to produce wheels.
Task-number: PYSIDE-535
Change-Id: I09c59e7ebf78837868912cfd19330256eea71237
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/tests/QtQml/javascript_exceptions.py')
0 files changed, 0 insertions, 0 deletions
