| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code creates a copy of the Property for each of the @setter
and similar decorators to ensure that modifications of a property
in a subclass remain local to the subclass.
Refactor the helper function to pass a clone of the
PySidePropertyPrivate to the tp_alloc/tp_init using the previously
introduced capsule mechanism instead of building and parsing
argument tuples.
Task-number: PYSIDE-3227
Change-Id: I53e841138161304faec34609dc2c6491027dbdab
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Amend change 8ac20831238e9399d51d86847cab400c58ee4d51 to restore
the original import function only to be restored during
the call to feature_imported() function which is apparently
sufficient to suppress the recursion.
Fixes: PYSIDE-3250
Task-number: PYSIDE-3054
Pick-to: 6.10
Change-Id: Id27244e1b64d321b739a5d24a065396be1ee57fc
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, PySidePropertyPrivate was used as a base class for
QmlListPropertyPrivate. Whereas PySidePropertyPrivate kept track
of the fget()/fset() and other helper functions and provided
tp_traverse and tp_clear, QmlListPropertyPrivate only kept flat
pointers to its helper functions (at(), append(), ...). This can
cause issues if for example a lambda is passed as callable.
QmlListPropertyPrivate also does not use any of the fget()/fset()
members.
To address this, extract a new base class PySidePropertyBase class which has
only the relevant members for both, and move PySidePropertyPrivate
into the source file.
Add Py_TPFLAGS_HAVE_GC to QmlListPropertyPrivate and track its
members similar to PySidePropertyPrivate.
Task-number: PYSIDE-3227
Change-Id: I7a739aa7b6f2c2811bde5b99a397ac752b20b69c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Ic8d27854083a5d8e0bb2b2b5d3a8d7383eec5eab
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
properties
Pass the instance as a capsule in the keyword arguments using
a special, reserved keyword.
For use by Python bridges list properties.
Amends d5a52173d34137ed3ac7ceb3e91bb6dcc20b75a7
Change-Id: I5f128f491bfed2c7068dbf31ba193366130f438d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
comparison operators
Declaring instead od adding is the proper way to do this.
Amends 9c6e82e2857e4ce45c578b73807de4b3b941ab38.
Change-Id: Ib59ef02a697260e89b405e630eb6ef9d055529cc
Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Amends 77c37b1937c9500a2af5a1bed2366058de74d1b7.
Pick-to: 6.10
Fixes: PYSIDE-3254
Change-Id: Iab0caae834e32e06dc495bceb5a7758d54625f04
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After change dd8440dff6ecb7af812a3fb4d7a3f54c4de6f99a, reverse free
comparison operators are ignored to suppress duplicated code generation.
This causes some warnings about unmatched comparison operator modifications.
Fix them by using member function signatures and removing duplicated
entries.
[ChangeLog][shiboken6] Non-homogeneous reverse free comparison operators
(trailing class argument) are now ignored by the code generator,
potentially causing warnings about unmatched comparison operator
modifications. The warnings can be ignored, or, the modification
signatures can be rewritten to be const member operators, which is the
recommended way to ensure compatibility with C++ 20 operator
synthesis.
Task-number: PYSIDE-3245
Change-Id: I74ea0613c774497ab41f6b19d5f3749846b7e8ec
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-3251
Pick-to: 6.10
Change-Id: Ib1c5a1f8de4237be84b43fa05a2ad830c2169596
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
- QtWebView was previously missing from the Android build configuration.
Pick-to: 6.8 6.10
Fixes: PYSIDE-3248
Change-Id: I11230b9bff6a45bee3af0dba498e7d76ca678e61
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
- Amends 6e6488f86942482f990993938b5d3520a2e9fadd
Pick-to: 6.8 6.10
Fixes: PYSIDE-3248
Change-Id: I9cf9cb92d2d92eb586c4bafd6939ede51078519d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
- Docs for the `Qt Python` extension for Visual Studio Code
and its features for PySide6 development.
Pick-to: 6.10
Change-Id: I9dfc80b8dab651d3615fcdf4878c674222a74dee
Reviewed-by: Ben Cho <ben.cho@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Task-number: PYSIDE-2840
Change-Id: I5dbc5187efc327fd81e84f4a26a03a23b797df25
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
Amends 19abd816e73bebdd489408d0a3b7676822bff39c.
Task-number: PYSIDE-862
Change-Id: Icf499f17eb7cf0e4b3805efbfc98ab462063574e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function was wrongly implemented, it is actually
meant to clear the error state and be used along
with PyErr_SetRaisedException() to replace the deprecated
PyErr_Fetch()/Restore(). It cannot really be implemented
in terms of PyErr_Fetch()/Restore().
Partially reverts 9aabb3a509594f59306a96679938f2f43a9830e6.
Task-number: PYSIDE-2747
Change-Id: I5ee57112c905e9112b758e27904bbf4fa768aeea
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Prevent them from being converted to QVariantList by
checking the exact type.
Amends c47c5bdbc8e844c2c3c99e2b5e594b5615d5ae4f.
Fixes: PYSIDE-3244
Task-number: PYSIDE-3206
Pick-to: 6.10
Change-Id: I26656d871accc868cb77d95b7b8567e380f46390
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
List useful environment variables and remove the snake case point
since it causes maintenance problems.
Pick-to: 6.10
Change-Id: I5c3d5e182b471ab3983e3a124ad95389d0d9bc7f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I8e428c5b1cb1c57cc628b4113fa58dd7889117c8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Extract a mixin class handling registration of a QQmlListProperty<> and
providing virtuals for the list functionality.
It can be used by Bridges or when migrating some Bridges functionality
into PySide (for example, list properties wrapping a Python list).
Change-Id: I18db0a8196b0f8529e6d438744429a5630ee297c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
This allows for removing a number of free functions and
eventually better separating QmlListProperty from Property.
Task-number: PYSIDE-3227
Change-Id: If2806f86bbbb615e59655d4f9a19b0fe87219fb5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Take over arguments only if they are neither null nor Py_None
and simplify checks accordingly.
Make the error message more precise.
With that 2aff6a35a9aa2f233c9801456daa6986437d2647, can be
partially reverted.
Task-number: PYSIDE-3227
Change-Id: I335db395e969415022581e1ec95a7e3715725bf1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
For use in QtRemoteObjects and Python bridges.
Change-Id: Ica4d3c36cc87db958353d7d6de25806acdf5d8b7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Move #ifdef, fixing:
sources/pyside6/libpyside/pyside.cpp:1231:13:
warning: ‘void PySide::formatPy_ssizeArray(QDebug&, const char*, const Py_ssize_t*, int)’ defined but not used [-Wunused-function]
Pick-to: 6.10
Change-Id: If2bd096c675a86ff0e403ef0c97928615580787a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
The @setter decorator causes the property to be recreated with Py_None
set for the non-existent members, apparently due to a long-closed Python
bug (see_property_copy()). As a band-aid fix, check for Py_None.
Fixes: PYSIDE-3227
Pick-to: 6.10
Change-Id: Ib818e9930bd598306270377e26e625bfa9692a92
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-3217
Pick-to: 6.10
Change-Id: If23e001b6b7255e02bc80ec13bbe10e1b1f4ce4e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the loop ensuring the window is mapped introduced by
918cd72f5eaebf56287a5ab0ac2e149ba1617a57, since on Wayland, the paint
event occurs there, causing a hang. This loop is usually used to
ensure a window is in a deterministic state for playing mouse events,
etc, but for paint events it should not be required.
Skip the native event test for Wayland, too.
Change-Id: I2b44dc098873614e2b8d9bc54444917fd4905e9f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove some superfluous parameters, fixing:
CMake Warning (dev) at doc/CMakeLists.txt:218 (add_custom_command):
The following keywords are not supported when using
add_custom_command(TARGET): DEPENDS.
CMake Warning (dev) at doc/CMakeLists.txt:252 (add_custom_command):
Keyword WORKING_DIRECTORY requires a value, but none was given.
Pick-to: 6.10
Change-Id: I8212fc29241d7843f0708bd91f79976b5890ea52
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-3206
Pick-to: 6.10
Change-Id: I31995dfacc40579eb11c51129cc2caf07a201a78
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a meta type registration for the pointer type.
Complements ad51ac78b6675f8d485b49891d95d2e8876fdab0.
Pick-to: 6.10 6.8
Fixes: PYSIDE-3213
Change-Id: I4c3cc374c1721b26f3924821f94b0c4e48a97aa5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Amend f73a5a291cd1a3b6f7bbd3f761435dc468771a31 and extend
it to libpyside to avoid dublicate installations.
Pick-to: 6.10
Task-number: QTBUG-141036
Change-Id: I7037c00c2fcdb4bddc51e8240a46ac689d814477
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10 6.8
Fixes: PYSIDE-3199
Change-Id: Ie77adfb731c5ce78e2587fdb08f339784561b07c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This change updates the function signature to typing.Union[type, str]
for both types and result.
Pick-to: 6.10
Fixes: PYSIDE-3174
Change-Id: Ic034ed725d774d94513d75014499667b6d7acdce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Put global data into a struct which in the future will exist
per interpreter as interpreters can only share immortal objects.
Task-number: PYSIDE-3155
Change-Id: I45ccaac57b41219bd4bd6a9151f820b00a787b0e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Use the types suggested by clang-tidy.
Change-Id: I2f96d52831fd53140a1bb727e604194afd76f920
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Put qApp and the SbkObject type into a struct which in the future will
exist per interpreter as interpreters can only share immortal objects.
Also remove storage of the function results in static variables.
Task-number: PYSIDE-3155
Change-Id: I5e1f12a80e858d2b8f7b5aa5d969f4024f8e3a2f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Set it directly instead of looking it up via converters, which
is a step towards decoupling the converters from the per-interpreter
types and saves dict lookups.
Task-number: PYSIDE-3155
Change-Id: I31a71d1a9d02f1247e04c57de2c2901746221b4f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decision whether to create a derived meta object class parsed from
the Python type in MetaObjectBuilder was based on comparing the class
name to the base meta object (the Python parsing must not be done
when creating a meta object for a plain wrapped Qt type).
This led to mixups when base class names were identical which is
possible in Python.
To fix this, split apart the code path not requiring Python type
parsing (called from the wrapper code when initializing wrapped Qt
classes) and expand the code for Python derived classes into
initQObjectSubType().
Fixes: PYSIDE-3201
Pick-to: 6.10
Change-Id: Id62e7dc9b8af16154b161cdbf5dd0d460c55f6f1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Task-number: PYSIDE-3155
Change-Id: I808bd38b57650bb5a4f6933fbc00aa3086279693
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Do not make an entry into the connection hash for them as they
should be handled by QMetaObject functions.
Pick-to: 6.10
Fixes: PYSIDE-3190
Change-Id: I3b6a89cbb9c211404fe2e4cf97727194b7b2fcaf
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
A generic approach could be implemented to make all the setParent
methods to accept an optional object, but this is a quick fix
in order to have a correct type hint.
Fixes: PYSIDE-3187
Pick-to: 6.10 6.9 6.8
Change-Id: Ia295b765fcce42abf563cec52ae776cbe73539ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Not an automated approach like it would be ideal,
but fixes the problem.
Pick-to: 6.10 6.9 6.8
Fixes: PYSIDE-3188
Change-Id: I76d420568eb754df78b71049093e95ae2e5c6cdd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Some of them are seen more frequently when experimenting
with subinterpreters or free threaded builds.
Task-number: PYSIDE-3155
Pick-to: 6.10
Change-Id: I7de2dd52f5a474d3dd08d604413ffb927686235b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][shiboken6] The helper function PepType_GetSlot() has been
removed. PyType_GetSlot() should be used instead.
Task-number: PYSIDE-2786
Change-Id: I72ba347588d720aecd5185adad6c503fde0c86b8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][shiboken6] The helper function _PepUnicode_AsString() has
been removed. PyUnicode_AsUTF8AndSize() should be used instead.
Task-number: PYSIDE-2786
Change-Id: I38f74cac80ac26cb91bab32012cbcb7c00e81140
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][PySide6] The minimum supported Python version
has been raised to 3.10.
Task-number: PYSIDE-2786
Change-Id: Ie93fab6945b4332eb215e9d9079da14f7ce5c78e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Amends 704f848f767f25a5c312f91d35c494c794fe3875.
Task-number: PYSIDE-2206
Pick-to: 6.10
Change-Id: I785c4c3c308c0ee1f6a12698cf14dfc3e6eca7a9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Complements 8fb5639ce7025456b1410f63d1463682117fe2f5.
Pick-to: 6.10
Change-Id: I90cb4da72aeafd7a52400aa3bba0f4b73a2c79de
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4fa9f5bb010af6aabd8b3dfc8f0ee059fcb5620f.
The change added the enumeration types from the QAudio namespace
to the QtAudio by inserting the types into the type dict, which
is a hack of sorts.
Change-Id: Iae93dca871d7d16b6605026d5f312caba5801bb1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Traditionally, the class pages were modelled after the Qt C++
documentation. There was a brief description, ending with a reference
to the detailed explanation, labelled "more..".
While this actually works in sphinx, too, it starts to emit warnings
about multiple definitions of the 'more' label.
To fix this, introduce a sphinx collapsible directive, expanding to
the detailed description. This however only works unless the detailed
description has headlines (for example, for QObject).
This creates a difference in that the detailed description is always
initially hidden, but it is assumed that this is better for the common
use case of browsing for a certain method.
Pick-to: 6.10 6.9 6.8
Task-number: PYSIDE-1106
Change-Id: I152be16f2a5ee5ea8c2869396a207b554738b219
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|