| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Pick-to: 6.8
Change-Id: I1a5964463f703ade0657816cb974206355a5ae5b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Adapt to qtbase/8c8d6ff7b6e2e6b1b673051685f1499ae4d65e05
and add a deprecation warning.
Task-number: QTBUG-108199
Change-Id: Ic16b302f87fd4a9b507e1ee670447b6addd90f34
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.8
Change-Id: I55de688e62287c4fef8e88964fa878690f6134a0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Change the parameter to be (object type) 'QLoggingCategory *'
to ensure type checking. Shiboken will then generate the argument
conversion.
Amends 936bdcf97f8ca657531496592dfce7d9144fa977.
Task-number: PYSIDE-1899
Change-Id: I3afa43c8c410c57ee1be12f65e3cbd5675bd2d41
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
It causes less overhead than the previously used stream operator.
Pick-to: 6.8
Change-Id: I3ed1365c7da3dee1af3258391d0150ade8a667f0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Modify
virtual QByteArray QQuick3DInstancing::getInstanceBuffer(int*)
to return a tuple of <QByteArray, int>.
Pick-to: 6.8
Change-Id: I3a6c249e2e72c4a490aa34c6caa847528b1ceb62
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
QWebEngineFrame is used like a value type (stored in QList, etc), but
does not have a default-constructor. Hack around by by adding a
function returning a default-constructed instance using a struct with
the same data members.
Task-number: PYSIDE-2620
Pick-to: 6.8
Change-Id: Id792a47fa9cc3f3c55eb1e52c06d01e03a104a74
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
It somehow got lost in the Qt 5 to 6 transition.
Pick-to: 6.8
Change-Id: I53eb13b516d51a907cf9dd247a735103ec91375d
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adapt them to C++, where:
void QWebEnginePage::runJavaScript(QString scriptSource,
std::function<void (QVariant)> resultCallback)
and
void QWebEnginePage::runJavaScript(QString scriptSource,
quint32 worldId = 0,
std::function<void (QVariant)> =resultCallback = {})
exist.
Introduce a functor as static source to be able to share code with other
classes to be added.
Task-number: PYSIDE-2883
Change-Id: I61f913a38e761df18ce5a5f3ea43478b7dceace2
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The class has been moved in Qt 6.
Task-number: PYSIDE-2883
Task-number: PYSIDE-946
Change-Id: I81ededa9d4eb1fb1a03249266f48cc65c84a6b02
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
As a drive-by, change the callbacks to PyCallable* and remove the
parameter checks from the snippets.
Task-number: PYSIDE-2883
Task-number: PYSIDE-946
Change-Id: I3986d2eced9606c71a3071755dce935b30cd67a5
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Add snippet for QCanBus::availableDevices(QString*),
adapting to qtserialbus/0eab51e1e451f92fbaf0df69793cbb4137a5ece4 .
Task-number: PYSIDE-2620
Change-Id: I0667931000a8446db2e14d72fbba254a6866cc3c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Implement QModelRoleDataSpan with an index operator returning
QModelRoleData* for modification. This enables
QAbstractItemModel::multiData().
[ChangeLog][PySide6] QModelRoleDataSpan for implementing
QAbstractItemModel.multiData() has been added.
Fixes: PYSIDE-2859
Change-Id: I35e4812bd999538f6dbd9e63a623791640287bab
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Introduce a shiboken message with parameters, reducing
strings generated into code.
- Return nullptr from __getitem__.
- Adapt injected code.
Task-number: PYSIDE-2859
Task-number: PYSIDE-2701
Change-Id: I4de98e40609cab400e4d7e11fe00f07594702b3a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remove inline from inlined functions, fixing [readability-redundant-inline-specifier]
- Do not call parameterless base constructors, fixing [readability-redundant-member-init]
- Use nullptr [modernize-use-nullptr]
- Remove unneeded reinterpret_cast<>()
- Fix some warnings about uninitialized variables [cppcoreguidelines-init-variables]
Change-Id: I38e9ddc192556cf0d5770bd858b240f013c97c79
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Adapt to qthttpserver/6acb3ccf221923a19118b3f3b15ffbebb3f33d4c.
The example will be fixed in a follow-up change.
Task-number: QTBUG-128113
Task-number: PYSIDE-2620
Change-Id: Ic454bcb8a37aa89ef6e9718df6dd8a7135e0b36c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-2620
Change-Id: I4e4826c5ab01a36022f43d2aa7d23558e6964a66
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: PYSIDE-2620
Task-number: QTBUG-125719
Change-Id: I6efeb1770c9bd7cddc3dbd91ca6294b9fddc9cc9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a QMetaMethod
The code previously used a instances of class GlobalReceiverV2 inheriting QObject in a hash in
SignalManager per slot tracking the list of senders to be able to use standard signal/slot
connections in Qt. This was a complicated data structure and had issues with cleanups.
This has been replaced by using an invoker object based on QtPrivate::QSlotObjectBase which
can be passed to
QObjectPrivate::connect(const QObject *, int signal, QtPrivate::QSlotObjectBase *, ...).
The connections (identified by ConnectionKey) are now stored in a hash with QMetaObject::Connection
as value, which can be used to disconnect using QObject::disconnect(QMetaObject::Connection).
Deletion tracking is done by using signal QObject::destroyed(QObject*) which requires
adapting some tests checking on the connection count and weak ref notification on receivers
as was the case before.
[ChangeLog][PySide6] Signal connections for Python callables not targeting a QMetaMethod
has be reimplemented to simplify code and prepare for removal of the GIL.
Task-number: PYSIDE-2810
Task-number: PYSIDE-2221
Change-Id: Ib55e73d4d7bfe6d7a8b7adc3ce3734eac5789bea
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
It shows up in macOS builds:
qcoreapplication_wrapper.cpp:2200:44: warning: lambda capture 'count' is not used [-Wunused-lambda-capture]
Pick-to: 6.7
Change-Id: Ie886c9e4f23c8da61096e7c95129d44c04fb072e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch does the actual removal of the fullName field.
Unfortunately, not all fields can be removed but only
the ones which are reachable by the TypeInitStructs.
(meanwhile less than 500)
This result is pretty much better (at least on macOS),
so we would not want to optimize it any further.
Many thanks to Friedemann's help with improving the
generator and removing the quirks that I could not solve.
Task-number: PYSIDE-2701
Change-Id: Ie350766c450da1d86359c4e24c313ade3146233f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Extract a helper function from QTimer::singleShot()
implementation and use that to implement it.
Fixes: PYSIDE-2805
Change-Id: Ib758d355b36c598052cfa495b53d7da423999976
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix an issue where exceptions were not shown when raised inside a slot
called from a zero-delay singleshot timer, causing problems further down
the line.
Pick-to: 6.7
Fixes: PYSIDE-2745
Change-Id: Iab7696663e5dfa00d99d28ee21ac687fde4cf731
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Use the PY_RETURN_* macros for returning them.
Pick-to: 6.7 6.5
Task-number: PYSIDE-2747
Change-Id: I48db8b958925e6ae39ce8ae8fb926429d0e4cd02
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function PyErr_SetString is used quite often, which has
no return value. The bracketed sequence
PyErr_SetString(...);
return nullptr;
can in most cases be replaced by a single call to
return PyErr_Format(...);
To simplify matters, PyErr_Format is now used everywhere.
Task-number: PYSIDE-2404
Change-Id: I5988fcd2430be700415d14d7a5cc740211e61d08
Pick-to: 6.7
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the typical pattern ported from C++
dialog = QDialog(mainWin)
dialog.exec()
one would expected the dialog to be deleted. However,
due to the constructor heuristics creating a parent-child
relationship, the dialog leaks. Add a modification
to remove the relationship in case exec() is called.
Change-Id: Ibc6f8c150cbd80a4085af4a5b713ee7c2c62abf3
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Partially revert 4d761eaaf852f8d82925e111150f25c0dd5f3e83.
Adapt to qtmultimedia/7fcea568c9c64f3bcebda21f0df02aa0107dfd0c,
reverting qtmultimedia/edaec2bf714c98d65f12c8ed9a2ffbd1603635a7.
Task-number: QTBUG-123997
Pick-to: 6.7
Change-Id: Ibd0ad737293f4b9107909f37554c03f64bce5d1e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change d8910df3ccea2897f5e228058f17176cb1fe4093 moved the
qWarning() out of the function were %FUNCTION_NAME is defined,
causing:
format '%F' expects a matching 'double' argument [-Wformat=]
Replace by function name.
Amends d8910df3ccea2897f5e228058f17176cb1fe4093.
Change-Id: Ib25cbb20c6ffe9c225cefa1a22fab8b37406fb59
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This caused a crash in PySide's addLayoutOwnership() code snippet,
whereas Qt errors out with a warning.
Guard all input parameters of the layout snippets with a check.
Rename the snippet "addownership-0" which is used for the itemAt()
functions "addownership-item-at" for clarity and add a check there.
Pick-to: 6.6 6.5
Fixes: PYSIDE-2638
Change-Id: Ia89532059e7a27cc38d790a0d17e24e19d68887f
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lazy init is done by module entries which are delayed.
Although visible in the module, the classes are only created
when actually accessed by getattr.
Internally, the access to the global Init_xxx functions is
redirected to a Shiboken::Module::get function which resolves
the classes if not already present in the global type array.
PYSIDE6_OPTION_LAZY
0 - no lazy loading
1 - lazy load all known modules
2 - lazy load all modules
Task-number: PYSIDE-2404
Change-Id: I98c01856e293732c166662050d0fbc6f6ec9082b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
- remove the Shiboken:AudoDecRef wrapper for the locale
Pick-to: 6.6
Fixes: PYSIDE-2639
Task-number: PYSIDE-2485
Change-Id: I4b56544ae23dfd762e4d711681bceffca05af527
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Unconditionally setting view->strides on the Py_Buffer causes a crash.
Update the code in our copy of PyBuffer_FillInfo() from CPython.
Fixes: PYSIDE-2628
Pick-to: 6.6 6.5
Change-Id: I6f244090a65442003cecfce70c6f8164b41ba99a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a class PyObjectHolder for passing around Python objects in C++.
It is mainly intended for callables. There are some cases in which
callables are invoked several times or not at all.
The usual construct of passing a lambda which decrefs the callable
after the invocation only works in the case when there is exactly one
single shot invocation. Otherwise, the callable leaks if there is no
invocation or a crash occurs on multiple invocation due to repeated
decref.
To fix this, introduce a class PyObjectHolder which holds a PyObject
with a reference and implements move/copy semantics as well as
destruction with the GIL held. It serves as a base class for functors
which implement a call operator for the invocation.
For the singleshot case, release() can be called after the invocation
as not to unnecessarily delay the release.
Port over the known cases where multiple invocation is documented to
occur to use it.
Change-Id: I2f4c7d497d4be8e48946f77a5a40dc9712dc05dd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A patch that corrects Qt.Modifier and Qt.KeyboardModifier
causes early loading of QtCore.Qt .
Move the patch into snippets, running it only when needed.
Task-number: PYSIDE-1735
Task-number: PYSIDE-2404
Change-Id: I26cc7aa767d5474bf54a22fbad24fae62daafa5f
Pick-to: 6.6
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
application
Do not create a parent relationship if the application was not
created in Python.
Fixes: PYSIDE-2605
Change-Id: I55e96b2f7120d557b1c1c62499843c053bf53945
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
| |
Some native interface classes were included in public headers.
Task-number: PYSIDE-2497
Task-number: PYSIDE-1568
Change-Id: I2e61ed8cd1a8dfc7d5d04d2730d456ec800eb446
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Adapt the examples.
- Create an alias into the module.
- Add a hack to the signal manager for signals which
maintain the old string-based signature.
Task-number: PYSIDE-2497
Change-Id: I9db5e59851a2cb9161fdcecf87e78d980eda2045
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-2497
Change-Id: Id506616710ba06851401cf62511e49967acde71e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Task-number: QTBUG-114091
Task-number: PYSIDE-2497
Change-Id: I62b6c50ea4cafd240ef75b2814849821f4eb2c3b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QMatrix<n>x<m> is a template specialization of
QGenericMatrix<n,m,float> which the type name of the QVariant
contains. To find the proper Shiboken converter for this, change the
name back.
As a drive-by, fix @snippet conversion-sbkobject to return a
PyObjectWrapper() with warning in cases where the QMetaType is valid
but no converter can be found.
Fixes: PYSIDE-2599
Pick-to: 6.6
Change-Id: I4f41dcbaa394fcc1732536c0b7a6569f694f3c45
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The macOS permission backends are packaged as static libraries which
are linked directly to the C++ application during the build step.
Since this is not possible to be done dynamically when pyside6-deploy
is run, we link the QtCore PySide6 binary (QtCore.abi3.so) to the
permission static binaries. This also makes sense since the Qt
permission API is a part of QtCore.
~Note~:
The idea of checking and requesting permissions for macOS only exists
when the Python application is packaged as a macOS application bundle.
When Python is run in interpreter mode, the Qt permission API does not
work.
- The QtLocation Permission plugin cannot be statically linked to
QtCore PySide6 binary because it required QtCore Qt framework bundle
to be loaded prior to calling Q_IMPORT_PLUGIN. Hence, we statically
link QDarwinLocationPermissionPlugin to QtPositioning because
QtPositioning has the classes that requires permissions.
Pick-to: 6.6 6.5
Task-number: PYSIDE-2468
Change-Id: I2ff64ed8f01f8318755a30eb4a66f7f968bd2d04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation of singleshot timers is very old and bypasses
the C++ function. Instead, a timer object is manually created and
started. This incurs a performance penalty, as this bypasses the
optimized code path for 0 timers that eschews a timer object in favor of
directly calling QMetaObject::invokeMethod. This is now fixed, and for 0
timers, the C++ function is called directly.
Change-Id: Idfed06d60eb34355242818ac2df46f75dd27353c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
There is a bug that actually creates new types
instead of using the existing ones.
Amends de5f162a70dda9d74cfce2337a9f90ddcb4ca75f
Change-Id: I9516574d04465b206777e86f46df593ea53fcc43
Pick-to: 6.6
Task-number: PYSIDE-2404
Fixes: PYSIDE-1909
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|