aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changelog for 5.14.2.35.14Friedemann Kleint2020-07-021-0/+35
| | | | | Change-Id: I8f748da4de7f17a1ab2a71c947e245d916ce17f9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* pthreads: Try to abandon the GIL in case a thread was terminatedFriedemann Kleint2020-06-264-1/+43
| | | | | | | | | | | | | When terminating a thread using QThread::terminate() via (pthread_cancel(), QThread::run() is aborted and the lock is released, but ~GilState() is still executed for some reason. Add a cancel handler to the thread which tells GilState to abandon the lock. Fixes: PYSIDE-1282 Change-Id: I70abd42b5a2afd49aaa8cc5e8be0a92ed63f49d3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update virtualenv to 20.0.25Simo Fält2020-06-263-3/+7
| | | | | | | | Updating virtualenv version to 20.0.25 while previous started to fail. Also increasing the timeout value for output. Change-Id: I391c1c85d490b57cdbab41d5bfcba396384c1994 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use Q_OS_WIN instead of _WINDOWS for the path splitterSergio Martins2020-06-171-1/+1
| | | | | | | | _WINDOWS is MSVC specific Fixes passing --include-paths when using MinGW Change-Id: I041484eccf521869f4fb532edc55d2e1cf4063e4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use pyside2-uic instead of uic for the loadUiTypeCristian Maureira-Fredes2020-06-161-4/+7
| | | | | | | | | | | | | | | | | Since we deploy the pyside2-uic wrapper inside the bin/ directory of virtual environments, that takes care of using the 'uic' binary we ship with the wheels, which is located in site-packages/PySide2/. The current implementation of loadUiType, runs 'uic -g python' but for people without a Qt installation, it has no effect since 'uic' is neither in PATH, nor in the system. Using 'pyside2-uic' instead will solve this issue. Task-number: PYSIDE-1223 Change-Id: I2c801a16c9ff4faa5cf8711bd718a634f017e592 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Fix default-initialized function argumentsFriedemann Kleint2020-06-115-1/+13
| | | | | | | | Specifying {} causes it to be qualified, check this. Change-Id: Idd23c8a5af01cd7fbb63a2e5a01bb349c530fe54 Fixes: PYSIDE-1325 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix leaking reference in PySide2 property getterFriedemann Kleint2020-06-091-1/+0
| | | | | | | | | Remove Py_INCREF on result obtained from PyObject_CallObject() in getValue(PySideProperty*,*source). Change-Id: Ic070df29be0fd0eadcd37bc0210339205f957c8f Fixes: PYSIDE-1321 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Potential fix for deploying with cx_freeze using zip_include_packagesFriedemann Kleint2020-06-051-0/+3
| | | | | | | | | In __init.py__, check for a zip archive and do not add DLL paths relative to it. Amends d9cfec8e010b48036e5e879ccc99879538a4f7d2. Change-Id: I18320bd6a8f784f20287c4a5ed65e9229989031c Fixes: PYSIDE-1257 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Tabbedbrowser example: Fix download removalFriedemann Kleint2020-05-281-1/+1
| | | | | | | | Fix class name broken by 90c1c767095e583d0315e87c0592597020858246. Task-number: PYSIDE-1311 Change-Id: Ib562a0ba3b4fc0a586ff642ddfad77075c4d9240 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Tabbedbrowser example: Fix downloadsFriedemann Kleint2020-05-273-7/+7
| | | | | | | | Fix names broken by 90c1c767095e583d0315e87c0592597020858246. Task-number: PYSIDE-1311 Change-Id: I4533209dfe47b07138fd797eb2f67321ba3b83a5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* update changelog 5.14.2.2Cristian Maureira-Fredes2020-05-261-0/+8
| | | | | Change-Id: Iff05110dbec9c6d09ca34526e70008d0c3a9c1c9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QtUiTools.loadUiTypeCristian Maureira-Fredes2020-05-253-0/+249
| | | | | | | | | | | | This function will allow users to convert and load .ui files at runtime. A test case was added. Change-Id: I64a220a07955e560f61f823d0ee2c3c9ff2209c1 Fixes: PYSIDE-1223 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix the no longer tested Py_LIMITED_APIChristian Tismer2020-05-222-4/+5
| | | | | | | | | | | | | | | | | | The limited API has always been tested in COIN. Not so last time when I checked this. I had a check-in which defined PyImport_GetModule for Python versions < 3.7, but did not see that this function does not exist when the Py_LIMITED_API is defined. The check-in should therefore have been broken, but it went through. That means that the Py_LIMITED_API is not tested, at least since commit c82ec2bc on 2020-05-18. Should we change the default, and how? Change-Id: I69ffaa1edeba9d7408c67f2cface8c4113ffcbe9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* sbkenum: Fix refcounting leakChristian Tismer2020-05-183-16/+29
| | | | | | | | | | | sbkenum had a wrong deallocator and some other errors. Found while developing pickling on enums. At the same time, a wrong Python 3.8 condition was removed. There are currently no additional bugs in Python 2.7, 3.7 and 3.8. Change-Id: I4abccf3b84a3738bba7781ea3dfd00e98ae63ea1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Support pickling of Qt Enum objectsChristian Tismer2020-05-186-1/+183
| | | | | | | | | | | | | | | | | | | | | Pickling for types exists in most cases. Pickling of Qt Enum objects works fine. Pickling of Qt Enum types is supported, but does not work because the builtin type pickling intercepts and then fails.. This problem is now solved because PySide supports now __qualname__. So pickling of nested types works now without any extra code in Python 3. Python 2 is not supported since it would require too strange patches to Python itself. Fixes: PYSIDE-15 Task-number: PYSIDE-1286 Change-Id: I346bde07a63afcf2555a3324fcca04efe25e704a Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide2: Fix conversion of quintptrFriedemann Kleint2020-05-182-2/+18
| | | | | | | | Ensure it is 64bit for 64bit systems. Change-Id: I0b4d54f2568bd70288e184a5a2d8f31532fed157 Fixes: PYSIDE-1303 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libshiboken: Support musl libcFriedemann Kleint2020-05-181-1/+7
| | | | | | | | Patch as contributed on JIRA. Change-Id: I07303a3f09259ea5f76ee09505c61d6a45fbe81a Fixes: PYSIDE-1298 Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Fix cross buildsFriedemann Kleint2020-05-182-2/+2
| | | | | | | | Patch as contributed on JIRA. Fixes: PYSIDE-1299 Change-Id: Ifbf94e59712cf16c0161da57691008f3895a64e3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Implement __qualname__ and correct __module__ for classesChristian Tismer2020-05-1613-43/+149
| | | | | | | | | | | | | | | | | | | | | PyType_FromSpec breaks the name "A.B.C.D" in module "A.B.C" and name = qualname = "D". We fix that for PySide: module = "A.B" qualname = "C.D" name = "D" and for other prefixes like Shiboken: module = "A" qualname = "B.C.D" name = "D" This had quite some impact on the signature modules. Change-Id: Ie94971ba737107b15adbfc2517e1ed32b65fda39 Fixes: PYSIDE-1286 Task-number: PYSIDE-15 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix imports: add missing sys importAndreas Buhr2020-05-151-0/+2
| | | | | | | | | | In line 128 of errorhandler.py, the sys module is used to check for Python 3. However, sys was never imported. Change-Id: I01b2ae41fe611de7e378b27bb3d73589dc4e4887 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit d6f37d6c2f5cc9be57569fd5b20d82660644c1b7) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken: Make AutoDecRef safeChristian Tismer2020-05-141-1/+3
| | | | | | | | | | | | | | | The well-known Shiboken::AutoDecref construction for easier refcount handling has a serious flaw. In Python's object.h, this is called a naive implementation that can be deadly when deallocating object containers. This patch uses the same idea as the Python's Py_XSETREF macro. Task-number: PYSIDE-15 Change-Id: I7a36713790f35df89736437d236c8f1f58d7be1e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Prepare for introduction of __qualname__Christian Tismer2020-05-1417-65/+84
| | | | | | | | | | | | | To remove the groundwork from the next checkin, the step of replacing PyType_FromSpec with SbkType_FromSpec is extracted. This change introduces a packageLevel number that is generated as a name prefix in the class creation but does not use it, yet. Change-Id: Ic9061231708b546dbd3620d148bca24c27df60a5 Task-number: PYSIDE-1286 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add changelog for 5.14.2.2Friedemann Kleint2020-05-141-0/+30
| | | | | Change-Id: I2e19fd2b5c07a823dd04dbcbbb4eca8aacd0189a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Install pip packages from requirements.txt filesSimo Fält2020-05-133-9/+14
| | | | | Change-Id: I16beba02a12c6c1f656e7a92696e9a6741989a39 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Install pinned virtualenv before installing dependenciesSimo Fält2020-05-132-0/+4
| | | | | | | | | Some Qt CI virtual machine templates has broken virtualenv installed. It will get fixed once those are re-provisioned. Pinning the virtualenv will allow us to control the version over Qt5 repository. Change-Id: Ic59c7e091d062a149badaf03508bc7a9204cf4b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* siboken: Fix compiler warningFriedemann Kleint2020-05-131-1/+4
| | | | | | | 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>
* Revert "Fix deprecation warnings about Qt::SplitBehavior"Friedemann Kleint2020-05-133-6/+6
| | | | | | | | | 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>
* Fix memory corruption for QML registered typesFriedemann Kleint2020-05-111-1/+6
| | | | | | | | | 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>
* Windows: Fix encoding in custom message handlerFriedemann Kleint2020-05-061-1/+1
| | | | | | | | | | 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>
* samplebinding: Fix running with Python 3.8.2 on WindowsFriedemann Kleint2020-05-051-14/+6
| | | | | | | | | | | Copy the shiboken DLL into the source directory. Since it does not make sense to hardlink into the build directory and install to another directory, remove the hardlink logic. Fixes: PYSIDE-1236 Change-Id: I016dac916502f4c28785981244e29e91e61700fe Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qareaseries: keep references of lower/upper seriesCristian Maureira-Fredes2020-05-041-1/+12
| | | | | | | | | 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>
* QMutexLocker allow-thread in constructorCristian Maureira-Fredes2020-04-301-1/+7
| | | | | | | | | | | | | | | | | | 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>
* Q*Mutex allow-thread in lock/tryLock and remove unlockCristian Maureira-Fredes2020-04-301-3/+2
| | | | | | | | | | | | | 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>
* Do not upgrade pip in during build/testSimo Fält2020-04-292-3/+7
| | | | | | | | The pip should be quite up to date already after provisioning CI templates. Upgrading it later may cause permission issues. Change-Id: Ia2b80d902eb74dbc24fe6fb00f3245657545e9dd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken: Remove unused static functionsFriedemann Kleint2020-04-282-46/+0
| | | | | | | | Remove _compareAbstractMetaFunctions() msgInvalidVersion(), fixing warnings. Change-Id: I5f55b0de2d3c3fed2df09cb922c02569c937f7c1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken: Rework sbkenum by fixing refcountsChristian Tismer2020-04-273-30/+37
| | | | | | | | | | | | | 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>
* signature: Add comparison for existing_doc typeCristian Maureira-Fredes2020-04-221-1/+6
| | | | | | Fixes: PYSIDE-1272 Change-Id: If7060574851c10994b06875d3a6ce16500e75199 Reviewed-by: Christian Tismer <tismer@stackless.com>
* signature: Fix and simplify for mypy compatibility, Part 2Christian Tismer2020-04-226-15948/+4699
| | | | | | | | | 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>
* signature: Fix and simplify for mypy compatibilityChristian Tismer2020-04-218-52/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Support type checking with the mypy moduleChristian Tismer2020-04-175-2/+10
| | | | | | | | | | | | | | | 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>
* doc: fix error in shiboken getting startedCristian Maureira-Fredes2020-04-121-2/+2
| | | | | | Fixes: PYSIDE-1266 Change-Id: Ia0aafb1f0e91b5baf070c018d4583e64f2c92f8c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Fix race condition with unprotected Py_INCREFsChristian Tismer2020-04-081-0/+7
| | | | | | | | | | | | | | | | | | 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>
* Fix alloc-dealloc-mismatch in MetaObjectBuilderMilian Wolff2020-04-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Relax the build_scripts for macOS and designerChristian Tismer2020-04-061-2/+2
| | | | | | | | | | | The build_scripts are able to build Designer, optionally. For macOS, the optional status was forgotten. Instead of always patching the build_scripts, I finally fixed that buglet ;-) Change-Id: Iaa62e27253ec7035f0eebde17f0f2b8c4593be67 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* pep384impl.cpp: Make the implementation more statelessChristian Tismer2020-04-061-36/+41
| | | | | | | | | | | | | | | | | | | | 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>
* Revert "shiboken: Add XML attribute to turn off method caching"Friedemann Kleint2020-04-065-15/+3
| | | | | | | | | | | | 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>
* ci: pin numpy version for Python 2.7Cristian Maureira-Fredes2020-04-061-1/+2
| | | | | | | Numpy 1.16.6 was the last version that supports Python 2.7 Change-Id: I43f401a6da350b874b2b25114fdc6d9fd07f69ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Support Clang version 10Friedemann Kleint2020-04-061-1/+1
| | | | | | | | | | 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>
* shiboken: Fix Qt properties not working in classes inheriting QObjectFriedemann Kleint2020-04-053-0/+140
| | | | | | | | | | | | | 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>
* PySide2: Fix lockups in QMetaObject.invokeMethod with BlockingQueuedConnectionFriedemann Kleint2020-04-041-0/+1
| | | | | | | | Add allow-thread. Change-Id: I7feba9761a52c273cf4500a42dfbea0463d6040f Fixes: PYSIDE-1253 Reviewed-by: Christian Tismer <tismer@stackless.com>