| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
shiboken2/generator/shiboken2/cppgenerator.cpp:3181:135: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
Change-Id: Ib382f47a6cd226f05db2b4e99c7c5b05bd31f135
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0b7a1be238c585cea66732c4ed3287f325395865.
5.14 is supposed to compile against 5.12, still.
Change-Id: I4170a6f5c1506b123d3a4947b4070be2bf4dd5cd
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Pass the correct size of the wrapper class to
PySide::initDynamicMetaObject().
Change-Id: I424bb93f4eb50da8384140cc8b3b4b063bc49108
Fixes: PYSIDE-1255
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The code snippet passing the message to the Python handler
used QString::toLocal8Bit() to convert the message. This is
wrong as Python always requires UTF-8.
Fixes: PYSIDE-1293
Change-Id: I1f16dad970aaf0d776e748110fc2054269412047
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
Increasing the refcount since otherwise the objects will be GCd.
Fixes: PYSIDE-1285
Change-Id: I9bb03c64f6ba9385de4ee892ce370bb2f827d79e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the improvement to the GIL treatment inside PySide
to avoid UI freezing issues, many functions need an entry
on the typesystem to allow thread explicitly, this was
the case of the report, where a QMutexLocker was initialized.
The initialization was done inside a QThread run method,
so the lack of allow-thread was generating a deadlock.
The nogil section of the code (from Cython)
was not related to the issue, since replacing the content with
any instruction produced the deadlock anyways.
Fixes: PYSIDE-1271
Change-Id: Ib1fd1ebd923c3f9dc9ae390228bcf40b5b878019
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case someone manually lock/tryLock a QBasicMutex
inside a section where threads are allowed, the lack of the
attribute will end on a deadlock.
Additionally, this removes the allow-thread for unlock() in
QMutex, since is not needed.
Task-number: PYSIDE-1271
Change-Id: I3d394c77d1b876afe324d5a50eb5da11b271c30e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Remove _compareAbstractMetaFunctions() msgInvalidVersion(),
fixing warnings.
Change-Id: I5f55b0de2d3c3fed2df09cb922c02569c937f7c1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refcounts had a long existing TODO comment that could be
removed after implementing refcounts correctly.
Also, the logic was harmonized and string constants avoided.
Task-number: PYSIDE-15
Task-number: PYSIDE-957
Change-Id: I0156020dae096c8b5c74ee01a2b1751b03b615b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Fixes: PYSIDE-1272
Change-Id: If7060574851c10994b06875d3a6ce16500e75199
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
After regeneration of the registry, we need to restore the blacklist.txt
file, fix the scrape script and use the newly generated registry files.
Task-number: PYSIDE-1100
Change-Id: I2f73e36a9cc9bfb1e07b8a08ab67ddd63e211e81
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a problem with the typing module for Python2
that showed the wrong name.
The generated signature files are further simplified.
They no longer contain fancy definitions like "Char", which
made little sense and was replaced by "int", which our
competitor does as well.
The mypy compatibility should be considered mostly complete.
Update.. QChar was not changed to "int" but "str" because we
got clashes. Therefore, recreation of the registry was necessary.
Hard to solve stay the definitions
"Virtual, Missing, Invalid, Default, Instance".
They are very rarely used for special cases. Mypy cannot
see these definitions since the module path does not exist
in the file system.
I tried hard to fix this by building a mypy plugin, but I seem to
be forced to generate real files in a temp dir. This was too much
effort. A plugin may make sense in the future when we need to
improve the type support.
Change-Id: Id80c2da1a4a379a80ec5f3019a916a9c00cc87ff
Task-number: PYSIDE-1100
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to PEP 561, there needs to exist a py.typed file.
Also, the import of typing must be visible statically for mypy without
importing PySide2.
Testing.. run
mypy pyside_1100.py
and you will get the correct output without "any".
Change-Id: I1d08447161630a8c7a64eda32ff8a431e994c6a7
Fixes: PYSIDE-1100
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Fixes: PYSIDE-1266
Change-Id: Ia0aafb1f0e91b5baf070c018d4583e64f2c92f8c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signalmanager module contains a PyObjectWrapper object
into which PySide::SignalManager::qt_metacall calls via many
hard-to-track indirections.
Finding this problem was quite tricky. It was done by modifying
the Py_INCREF and Py_DECREF macros of a debug Python
interpreter and using the new PyGILState_Check function to
provoke a crash if the GIL was not held.
See the online documentation for details.
Change-Id: Ida8246c97dcf6443ff057d206a42d22e462f1913
Fixes: PYSIDE-813
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QMetaObjectBuilder::toMetaObject uses malloc to allocate the
space for the returned QMetaObject. As such, we need to use
free instead of delete, otherwise ASAN will report an error:
```
39: ==1537629==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x61200006cf40
39: #0 0x7f7952f00960 in operator delete(void*) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:165
39: #1 0x7f7930c4d8d4 in void qDeleteAll<__gnu_cxx::__normal_iterator<QMetaObject const* const*, std::vector<QMetaObject const*, std::allocator<QMetaObject const*> > > >(__gnu_cxx::__normal_iterator<QMetaObject const* const*, std::vector<QMetaObject const*, std::allocator<QMetaObject const*> > >, __gnu_cxx::__normal_iterator<QMetaObject const* const*, std::vector<QMetaObject const*, std::allocator<QMetaObject const*> > >) /usr/include/qt/QtCore/qalgorithms.h:320
39: #2 0x7f7930c4cf98 in void qDeleteAll<std::vector<QMetaObject const*, std::allocator<QMetaObject const*> > >(std::vector<QMetaObject const*, std::allocator<QMetaObject const*> > const&) /usr/include/qt/QtCore/qalgorithms.h:328
39: #3 0x7f7930c4a847 in PySide::MetaObjectBuilder::~MetaObjectBuilder() ../3rdParty/PySide2/sources/pyside2/libpyside/dynamicqmetaobject.cpp:143
39: #4 0x7f7930c54c8f in PySide::GlobalReceiverV2::~GlobalReceiverV2() ../3rdParty/PySide2/sources/pyside2/libpyside/globalreceiverv2.cpp:208
39: #5 0x7f7930c54ccf in PySide::GlobalReceiverV2::~GlobalReceiverV2() ../3rdParty/PySide2/sources/pyside2/libpyside/globalreceiverv2.cpp:223
39: #6 0x7f7930c54f63 in PySide::GlobalReceiverV2::decRef(QObject const*) ../3rdParty/PySide2/sources/pyside2/libpyside/globalreceiverv2.cpp:271
39: #7 0x7f7930c553fc in PySide::GlobalReceiverV2::qt_metacall(QMetaObject::Call, int, void**) ../3rdParty/PySide2/sources/pyside2/libpyside/globalreceiverv2.cpp:338
39: #8 0x7f7941d2e251 (/usr/lib/libQt5Core.so.5+0x2db251)
39: #9 0x7f7941d28bef in QObject::destroyed(QObject*) (/usr/lib/libQt5Core.so.5+0x2d5bef)
39: #10 0x7f7941d2c8d6 in QObject::~QObject() (/usr/lib/libQt5Core.so.5+0x2d98d6)
39:
39: 0x61200006cf40 is located 0 bytes inside of 264-byte region [0x61200006cf40,0x61200006d048)
39: allocated by thread T0 here:
39: #0 0x7f7952efdd48 in __interceptor_calloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:153
39: #1 0x7f7941d1d742 in QMetaObjectBuilder::toMetaObject() const (/usr/lib/libQt5Core.so.5+0x2ca742)
39: #2 0x7f7930c4bb88 in PySide::MetaObjectBuilder::update() ../3rdParty/PySide2/sources/pyside2/libpyside/dynamicqmetaobject.cpp:425
39: #3 0x7f7930c54a85 in PySide::GlobalReceiverV2::GlobalReceiverV2(_object*, QSharedPointer<QMap<QByteArray, PySide::GlobalReceiverV2*> >) ../3rdParty/PySide2/sources/pyside2/libpyside/globalreceiverv2.cpp:195
39: #4 0x7f7930c50a70 in PySide::SignalManager::globalReceiver(QObject*, _object*) ../3rdParty/PySide2/sources/pyside2/libpyside/signalmanager.cpp:313
39: #5 0x7f792ec3b257 in getReceiver 3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/QtCore/qobject_wrapper.cpp:155
39: #6 0x7f792ec3b67f in qobjectConnectCallback 3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/QtCore/qobject_wrapper.cpp:205
39: #7 0x7f792ec3e5b9 in Sbk_QObjectFunc_connect 3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/QtCore/qobject_wrapper.cpp:944
39: #8 0x7f7943a66250 in PyObject_Call (/usr/lib/libpython3.8.so.1.0+0x13c250)
```
Change-Id: I8c5a745fab9785425c0844129731c7c8a17b8d21
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pep384impl.h part is quite readable and stateless concerning the
state of Py_LIMITED_API.
The pep384impl.cpp part is stateful, which means there is no clear
separation between parts of the implementation.
This had led to unnecessary confusion in the past. To avoid that in
future, the #ifdef status of Py_LIMITED_API will no longer be carried
over multiple sections.
Also, checks which are for the limited API only are no longer executed
by default.
Further, PyDict_GetItem is replaced by PyDict_GetItemWithError, where
we do not expect a real error.
Change-Id: Ia51e551216c76f82b701ebc45c40e2d1412cabf5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit fcbbab0a6b5949b5c3726214ed87898b5fbcebcc.
This is no longer required after a fix generating the property
code into the setattro methods of QObject-derived classes.
Task-number: PYSIDE-803
Task-number: PYSIDE-1255
Change-Id: I9e989c0592eaaf25aa55a1db49537daa4bdb2a57
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Adapt the version check of the internal include directory to parse the
entire directory (typically named like 9.0.0) as version number
instead of just checking the first digit.
Change-Id: I7e09c36fd523328e962c7f2acbc8385787e94998
Fixes: PYSIDE-1259
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fixes for PYSIDE-803 caused setattro methods to be generated
for many classes, resulting in QObject's setattro method no longer
being called.
Generate property code in each class inheriting QObject.
Task-number: PYSIDE-803
Fixes: PYSIDE-1255
Change-Id: I56f52fb43c4ddc77914090ac122776050354ddbe
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Add allow-thread.
Change-Id: I7feba9761a52c273cf4500a42dfbea0463d6040f
Fixes: PYSIDE-1253
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Amends cf8e0d98821cc7e6f0fc48b56a0a16ad88cd881b.
Task-number: PYSIDE-841
Change-Id: Iea6ab04e2ce8c4fb77d7d5c770dc45005f2635dc
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In PYSIDE-803 we used an optimization that accessed
a dictionary without holding the GIL. This turned out to be not
correct, because PyDict_GetItem works with thread state
to maintain the global error variables.
PyDict_GetItemWithErrors can be used instead in a way that
allows releasing the GIL.
Task-number: PYSIDE-803
Task-number: PYSIDE-813
Change-Id: Ifb0cbb20c21ca9c8b3d099fff1db5410eb6824b4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
Minor edits.
Augments d77a90d4ef30d311dea39a7f4c3399e4363cc1b7
Task-number: PYSIDE-813
Change-Id: I3a24b1f49a22f4681d2c4e2457cda7110bd7b4f1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The unicode implementation has changed very much.
PyUnicode_GET_SIZE has been used all the time, although this
macro is already a quite expensive real function since Python 3.3 .
The function is deprecated, and the macro PyUnicode_GET_LENGTH
should be used, instead.
This is relevant for cleaning things up, because in the course of
fixing PYSIDE-813 we work with debug Python, which then complains
that Python memory is used without holding the GIL.
The usage of the right implementation was ensured by a function
PepUnicode_GetLength and removing all traces of the former version.
Task-number: PYSIDE-813
Change-Id: I62e94e10e14975dac3dad0ed1fffec8a1b54a0d5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
This patch replaces NULL with nullptr, replaces type casts
and simplifies a helper function further to avoid string creation.
Change-Id: If06cf739eef5836e615e4ff9beb1bca40c791f9e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
New users are getting confused by the phrasing of the page,
and believe we only have two examples in our codebase.
Adding a paragraph to clarify this situation will solve the
misconception.
Change-Id: I2a18d99771eee82af3181a997c137109840edbec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to access the doc attribute from Properties
when set:
>>> p = Property(int, doc="some doc")
>>> p.__doc__
some doc
>>> p = Property(int)
>>> p.__doc__
None
Fixes: PYSIDE-135
Change-Id: Idf3e6c6632c775a50cfc8ecf03de3d2dc485f9f4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When using clear on an item with children,
we rely on the childCount() function so when children
with only a parent and no local reference were inside,
they ended up being removed, altering the behavior of the loop.
Change-Id: I111a600cd2e805eeb7110082437e666f88ff65a5
Fixes: PYSIDE-1251
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Check using the init limits in the QVariant long long conversion
and create an int if possible. This works more smoothly with
Qt and for example ensures that the correct editor is created in
item views.
Change-Id: I0ca2e5e7b91f309deaa81a25e70a5f894f43f841
Fixes: PYSIDE-1250
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Provide them as user-added functions using C++ lambdas.
Fixes: PYSIDE-946
Task-number: PYSIDE-1241
Change-Id: I9733bc98b3fc8b3bcf40ab4ce91ffdb84e385b93
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add a search for flags entries to
translateType(AddedFunction::TypeInfo).
Task-number: PYSIDE-946
Task-number: PYSIDE-1241
Change-Id: I8f0092ad2dd546fdf8678864e49ad2940e7bb8dc
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Change translateType() to pass up the error instead of aborting so
that the error is printed in traverseFunction() along with the name.
The abort in case of failure will then occur in fillAddedFunctions().
Task-number: PYSIDE-946
Task-number: PYSIDE-1241
Change-Id: Iee9ca478b28c8f82d9c4b6c5165f3028bf1e0d08
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the polymorphic attribute was set in
AbstractMetaClass::addFunction() depending on hasVirtualDestructor().
This does not work when the destructor is the last function traversed.
Modify setHasVirtualDestructor() to set the hasVirtuals and
polymorphic attributes, too.
Fixes: PYSIDE-1246
Change-Id: If7b32a05110f96b5c4befde5f1d37475c9a5f240
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regular expressions which can evaluate to an empty string
result in a warning in Python 3.6 if you try to re.split() on
that pattern.
The generated pattern for the signature parser was enhanced
to avoid the unintended empty pattern.
This change was not very large, actually only a single bit
(but the right one). :-)
>>> bin(ord("*"))
'0b101010'
>>> bin(ord("+"))
'0b101011'
Change-Id: I15ba6ef6f108c51afba59b4004261bede26c4a74
Fixes: PYSIDE-1247
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This process introduced many unnecessary calls to
the Py_BEGIN/END_ALLOW_THREAD macro to PySide,
which had a negative impact on the overall behavior
when studying the responsiveness of UIs with threads.
Some tests were adapted to include the new allow-thread
behavior.
[ChangeLog][shiboken] The default of the "allow-thread" attribute
has been changed to false as it was observed to cause performance
issues when using threads.
Task-number: PYSIDE-803
Change-Id: I2cd67c86340f7bf7a2c5694869d17fe2027a0abb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds and remove the usage of:
allow-thread="yes"
in some typesystem entries.
This also adapt the usage of the Py_BEGIN/END_ALLOW_THREAD
macro inside the snippets used by other typesystem entries.
The main reason is that in some cases not the whole snippet
requires to be inside such state, but only when calling the
C++ equivalent function.
Task-number: PYSIDE-803
Change-Id: Ifa9c8cee2713c453e4d5c624aaa862e75559180c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Amends d1604053e9ae354963a2b2447b3d196fc5dda73e.
Task-number: PYSIDE-1240
Change-Id: I27882de3077fcd11fc98b10b8ddbd469990b77c4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After massive GIL savings in the generated code, there still
exists a place where a lot of repeated GIL acquirements are
done. It was observed that up to 24 consecutive calls to
retrieveMetaObject(self) were made, all with the same value
for 'self'.
The code in question was:
(1) Shiboken::GilState gil;
(2) MetaObjectBuilder *builder = metaBuilderFromDict( \
reinterpret_cast<SbkObject *>(self)->ob_dict);
(3) if (!builder)
(4) builder = &(retrieveTypeUserData(self)->mo);
(5)
(6) return builder->update();
An exact analysis of the code showed that the GIL usage (1) could
be moved out of the function into a deeper function that does
updates in a branch (6).
Function retrieveTypeUserData does not involve the Python
interpreter at all (4).
It took some time until it was proven that access to some
special Python dictionary cannot reach the Python interpreter
and therefore does not need the GIL as well (2).
This replaces the abandoned effort to write a "Lazy GIL".
It worked great for the example program, but had problems
with some never finishing tests.
After all, this solution is much simpler and works perfectly
well. More effort seems not to be necessary to handle the GIL.
Task-number: PYSIDE-803
Change-Id: I439009ff933fc6f498beb0c7f1523b6f985afda8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The class will replace timeout parameters in Qt 5.15 as
introduced by qtbase/72f57cc84244633ca69ede9a1fd510b9b1881c1d,
causing warnings like:
Stripping argument #1 of bool QThread::wait(QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Stripping argument #2 of bool QWaitCondition::wait(QMutex*,QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Stripping argument #2 of bool QWaitCondition::wait(QReadWriteLock*,QDeadlineTimer) due to unmatched type "QDeadlineTimer" with default expression "QDeadlineTimer(QDeadlineTimer::Forever)".
Change-Id: I51655ef19d8276b95c2a759d5ba44287a4b6d91b
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Make the previously existing debug output an option
and output typesystem XML by default.
Change-Id: I3d95bdb56446097377880e1ca0b54d3b8b93ea24
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Including a check for Python EnumMeta types to not consider them
as a normal PySequence allows the decision to use the default
PyObject wrapper case.
Using the 'object' type is currently the workaround,
so this allow the users to use the Enum class instead of declaring
the signal with 'object'.
class A(Enum):
a = 1
b = 1
# Workaround
# signal = Signal(object)
# With this patch
signal = Signal(A)
A test case was added.
Fixes: PYSIDE-239
Change-Id: Ib593dba5a988eceb8b1bfae097768e9ec02be6d5
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
sources/shiboken2/generator/shiboken2/cppgenerator.cpp:1480:95: warning: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
sources/shiboken2/generator/shiboken2/cppgenerator.cpp:1483:96: warning: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
sources/shiboken2/generator/shiboken2/cppgenerator.cpp:1931:95: warning: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
sources/shiboken2/generator/shiboken2/cppgenerator.cpp:5774:110: warning: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
sources/shiboken2/generator/main.cpp:373:67: warning: 'QStringList QString::split(QChar, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
sources/shiboken2/generator/shiboken2/shibokengenerator.cpp:99:88: warning: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
Change-Id: Iadddcc74679a71ebf803b6a2942d9a50dbeeb05e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Task-number: PYSIDE-803
Change-Id: I0ba80cea5804e1b83cc55ee32163ca9d021ccd26
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to get better performance, we try to avoid allocating the
GIL when methods have no override with a Python function.
Every class gets an associated bool array that records functions
where no override was found. On second call of a function,
the GIL is avoided by this flag.
Update 2020-02-06:
The result is very promising when combined with a drastic
reduction of Py_(BEGIN|END)_ALLOW_THREAD macro calls.
So this could become the solution when combined with a good
reduction!
The Python 2 bug was circumvented by not generating the
additional Py_tp_setattro functions for class QQuickItem.
Task-number: PYSIDE-803
Change-Id: I0fe36edc5610b2d51bbb05f1b7507beee5088c83
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, DLL directories can no longer be specified
via the PATH environment variable. They need to be added
via os.add_dll_directory().
In order to fix this, move the entire environment setup
from CMake to a python helper and set the environment
variables BUILD_DIR and QT_DIR pointing to the build
directory and Qt directory, respectively, from CMake.
In addition, this has a huge advantage: The tests can
also be executed much more easily without ctest from the
command line by just setting BUILD_DIR and QT_DIR instead
of a complex manipulation of PATH/LD_LIBRARY_PATH.
Change-Id: I7d518ccab19ca184c3112a126c779d4a6d7c6c5e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Updated to the new simple builtin variable.
Change-Id: I918ce7bc9aea6451439a8306d5bbd325c04e8136
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Put everything into a single file and mark them as copies.
Change-Id: I782247520d6976695a14f762e8247e5c4eb46aac
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I25bcb0da55860da08644872467dbc5e80a71633c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: I1d814b72359e188ba8263b0cb583ccb43af5e4b4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|