Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-qt5 for openSUSE:Factory checked in at 2023-10-16 22:33:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-qt5 (Old) and /work/SRC/openSUSE:Factory/.python-qt5.new.20540 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qt5" Mon Oct 16 22:33:08 2023 rev:65 rq:1117888 version:5.15.10 Changes: -------- --- /work/SRC/openSUSE:Factory/python-qt5/python-qt5.changes 2023-06-27 23:15:28.698972011 +0200 +++ /work/SRC/openSUSE:Factory/.python-qt5.new.20540/python-qt5.changes 2023-10-16 22:33:14.852391155 +0200 @@ -1,0 +2,11 @@ +Sun Oct 15 13:57:31 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 5.15.10 + * Added the missing QEvent.Type.NativeGesture member (Qt v5.2 and + later). + * Added the missing QEvent.Type.EnterEditFocus and + QEvent.Type.LeaveEditFocus members. + * PyQt5-sip v12.13 is now required for Python v3.12 support. + * Bug fixes. + +------------------------------------------------------------------- Old: ---- PyQt5-5.15.9.tar.gz New: ---- PyQt5-5.15.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-qt5.spec ++++++ --- /var/tmp/diff_new_pack.7NEciz/_old 2023-10-16 22:33:15.648419867 +0200 +++ /var/tmp/diff_new_pack.7NEciz/_new 2023-10-16 22:33:15.648419867 +0200 @@ -30,7 +30,7 @@ %define mname qt5 %{?sle15_python_module_pythons} Name: python-%{mname} -Version: 5.15.9 +Version: 5.15.10 Release: 0 Summary: Python bindings for Qt 5 License: SUSE-GPL-2.0-with-FLOSS-exception OR GPL-3.0-only OR NonFree @@ -76,9 +76,9 @@ BuildRequires: pkgconfig(Qt5RemoteObjects) %endif BuildRequires: %{python_module pyqt-builder >= 1.14.1} -BuildRequires: %{python_module qt5-sip >= 12.11} -BuildRequires: %{python_module sip-devel >= 6.6.2} -Requires: python-qt5-sip >= 12.11 +BuildRequires: %{python_module qt5-sip >= 12.13} +BuildRequires: %{python_module sip-devel >= 6.7.12} +Requires: python-qt5-sip >= 12.13 %requires_ge python-dbus-python Provides: python-PyQt5 = %{version}-%{release} Suggests: python-%{mname}-quick3d ++++++ PyQt5-5.15.9.tar.gz -> PyQt5-5.15.10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/ChangeLog new/PyQt5-5.15.10/ChangeLog --- old/PyQt5-5.15.9/ChangeLog 2023-02-04 13:33:28.439005400 +0100 +++ new/PyQt5-5.15.10/ChangeLog 2023-10-12 12:54:39.106296000 +0200 @@ -1,3 +1,111 @@ +2023-10-10 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, qpy/QtCore/qpycore_types.cpp: + Removed a compiler warning message. + [a92a518d62a1] [5.15.10] <5.15-maint> + +2023-10-08 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, lib/project.py, qpy/QtCore/qpycore_types.cpp: + Properly fix the use of PyType_GetDict(). ABI v12.13 is now needed. + [4a48fab832b8] <5.15-maint> + +2023-10-07 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, qpy/QtCore/qpycore_types.cpp: + Fixed the memory leak related to sipPyTypeDict() and Python v3.12. + [3744224dd080] <5.15-maint> + +2023-09-22 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Disabled the automatic generation of the type hint for pyqtSlot. + [aec75fafb7c3] <5.15-maint> + +2023-08-27 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, qpy/QtCore/qpycore_qt_conf.cpp: + Use Latin-1 rather than the local encoding to write the embedded + qt.conf file. + [26eb32db0a3c] <5.15-maint> + +2023-08-26 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, test/tests/misc/test_pickle.py: + Fixed some legacy unittest calls removed in Python v3.12. + [ffdbdfee5b60] <5.15-maint> + +2023-07-27 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Really fix the QString/None regression. + [219301a7e51e] <5.15-maint> + +2023-07-21 Phil Thompson <p...@riverbankcomputing.com> + + * PyQt5.msp: + Fixed a regression in using None as a QString. + [01d95f9ff234] <5.15-maint> + +2023-07-16 Phil Thompson <p...@riverbankcomputing.com> + + * PyQt5.msp: + Fixes from an apparently rogue metasip scan. + [ddceca16b27e] <5.15-maint> + + * NEWS, PyQt5.msp: + Fixed the type hints for all ellipsis arguments. + [60eaade98d69] <5.15-maint> + +2023-07-14 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Fixed the type hints for QString. + [70febd346bbd] <5.15-maint> + +2023-07-12 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Fixed the type hints for QObject.findChild() and + QObject.findChildren(). + [87f470a9e300] <5.15-maint> + +2023-07-09 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, qpy/pyrcc/rcc.cpp: + Fixed pyrcc for reproducable builds. + [950ea5e7f6a2] <5.15-maint> + +2023-07-05 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Fixed the type hints for PYQT_SLOT and pyqtSlot(). + [d038fb017ee2] <5.15-maint> + +2023-06-08 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp, lib/project.py: + Added the missing QEvent.Type.EnterEditFocus and + QEvent.Type.LeaveEditFocus enum members. + [40fc079cfca7] <5.15-maint> + + * NEWS, PyQt5.msp: + Added the missing QEvent.Type.NativeGesture member (Qt v5.2 and + later). + [dc33dcf9e485] <5.15-maint> + +2023-05-21 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS, PyQt5.msp: + Fixed the QDeadlineTimer ctors. + [684e8e23899f] <5.15-maint> + +2023-02-02 Phil Thompson <p...@riverbankcomputing.com> + + * .hgtags: + Added tag 5.15.9 for changeset c8aba8cdb7c0 + [af0bcef92906] <5.15-maint> + 2023-01-31 Phil Thompson <p...@riverbankcomputing.com> * NEWS, lib/project.py: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/NEWS new/PyQt5-5.15.10/NEWS --- old/PyQt5-5.15.9/NEWS 2023-02-04 12:54:40.392166000 +0100 +++ new/PyQt5-5.15.10/NEWS 2023-10-12 12:54:37.334525000 +0200 @@ -1,3 +1,10 @@ +v5.15.10 10th October 2023 + - Added the missing QEvent.Type.NativeGesture member (Qt v5.2 and later). + - Added the missing QEvent.Type.EnterEditFocus and QEvent.Type.LeaveEditFocus + members. + - PyQt5-sip v12.13 is now required for Python v3.12 support. + - Bug fixes. + v5.15.9 31st January 2023 - Bug fixes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/PKG-INFO new/PyQt5-5.15.10/PKG-INFO --- old/PyQt5-5.15.9/PKG-INFO 2023-02-04 13:33:42.292993500 +0100 +++ new/PyQt5-5.15.10/PKG-INFO 2023-10-12 12:54:50.622646000 +0200 @@ -1,13 +1,13 @@ Metadata-Version: 2.1 Name: PyQt5 -Version: 5.15.9 +Version: 5.15.10 Requires-Python: >=3.7 Summary: Python bindings for the Qt cross platform application toolkit Home-Page: https://www.riverbankcomputing.com/software/pyqt/ Author: Riverbank Computing Limited Author-Email: i...@riverbankcomputing.com License: GPL v3 -Requires-Dist: PyQt5-sip (>=12.11, <13) +Requires-Dist: PyQt5-sip (>=12.13, <13) PyQt5 - Comprehensive Python Bindings for Qt v5 =============================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/configure.py new/PyQt5-5.15.10/configure.py --- old/PyQt5-5.15.9/configure.py 2023-02-04 13:33:28.454483300 +0100 +++ new/PyQt5-5.15.10/configure.py 2023-10-12 12:54:39.123130300 +0200 @@ -28,7 +28,7 @@ # Initialise the constants. -PYQT_VERSION_STR = "5.15.9" +PYQT_VERSION_STR = "5.15.10" SIP_MIN_VERSION = '@MinimumSipVersion@' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/project.py new/PyQt5-5.15.10/project.py --- old/PyQt5-5.15.9/project.py 2023-02-04 13:33:28.460979700 +0100 +++ new/PyQt5-5.15.10/project.py 2023-10-12 12:54:39.129548800 +0200 @@ -28,7 +28,7 @@ # The minimum sip module ABI version needed. -ABI_VERSION = '12.11' +ABI_VERSION = '12.13' class PyQt(PyQtProject): @@ -588,7 +588,8 @@ def __init__(self, project): """ Initialise the bindings. """ - super().__init__(project, 'QtCore', qmake_QT=['-gui']) + super().__init__(project, 'QtCore', qmake_QT=['-gui'], + define_macros=['QT_KEYPAD_NAVIGATION']) def generate(self): """ Generate the bindings source code and return the corresponding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/pyproject.toml new/PyQt5-5.15.10/pyproject.toml --- old/PyQt5-5.15.9/pyproject.toml 2023-02-04 13:33:28.461527000 +0100 +++ new/PyQt5-5.15.10/pyproject.toml 2023-10-12 12:54:39.130058500 +0200 @@ -6,7 +6,7 @@ # Specify the PEP 566 metadata for the project. [tool.sip.metadata] name = "PyQt5" -version = "5.15.9" +version = "5.15.10" summary = "Python bindings for the Qt cross platform application toolkit" home-page = "https://www.riverbankcomputing.com/software/pyqt/" author = "Riverbank Computing Limited" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/qpy/QtCore/qpycore_qt_conf.cpp new/PyQt5-5.15.10/qpy/QtCore/qpycore_qt_conf.cpp --- old/PyQt5-5.15.9/qpy/QtCore/qpycore_qt_conf.cpp 2023-02-04 13:33:28.673284500 +0100 +++ new/PyQt5-5.15.10/qpy/QtCore/qpycore_qt_conf.cpp 2023-10-12 12:54:39.299893400 +0200 @@ -95,7 +95,7 @@ if (QFileInfo(qt_dir_name).exists()) { // Get the prefix path with non-native separators. - static QByteArray qt_conf = qt_dir_name.toLocal8Bit(); + static QByteArray qt_conf = qt_dir_name.toLatin1(); qt_conf.prepend("[Paths]\nPrefix = "); qt_conf.append("\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/qpy/QtCore/qpycore_types.cpp new/PyQt5-5.15.10/qpy/QtCore/qpycore_types.cpp --- old/PyQt5-5.15.9/qpy/QtCore/qpycore_types.cpp 2023-02-04 13:33:28.675924000 +0100 +++ new/PyQt5-5.15.10/qpy/QtCore/qpycore_types.cpp 2023-10-12 12:54:39.302498300 +0200 @@ -186,7 +186,7 @@ // Add the properties to the meta-object. QMapIterator<uint, PropertyData> it(pprops); - for (int p = 0; it.hasNext(); ++p) + while (it.hasNext()) { it.next(); @@ -384,10 +384,12 @@ QMetaObjectBuilder &builder, QList<const qpycore_pyqtSignal *> &psigs, QMap<uint, PropertyData> &pprops) { + int rc = 0; Py_ssize_t pos = 0; PyObject *key, *value, *dict; - dict = sipPyTypeDict(pytype); + if ((dict = sipPyTypeDictRef(pytype)) == NULL) + return -1; while (PyDict_Next(dict, &pos, &key, &value)) { @@ -445,7 +447,10 @@ // It is a property. if (!ascii_key) - return -1; + { + rc = -1; + break; + } Py_INCREF(value); @@ -466,7 +471,10 @@ // It is a signal. if (!ascii_key) - return -1; + { + rc = -1; + break; + } qpycore_pyqtSignal *ps = (qpycore_pyqtSignal *)value; @@ -490,7 +498,9 @@ } } - return 0; + Py_DECREF(dict); + + return rc; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/qpy/pyrcc/rcc.cpp new/PyQt5-5.15.10/qpy/pyrcc/rcc.cpp --- old/PyQt5-5.15.9/qpy/pyrcc/rcc.cpp 2023-02-04 13:33:28.603986000 +0100 +++ new/PyQt5-5.15.10/qpy/pyrcc/rcc.cpp 2023-10-12 12:54:39.242293100 +0200 @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (c) 2018 Riverbank Computing Limited. All rights reserved. +** Copyright (c) 2023 Riverbank Computing Limited. All rights reserved. ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** @@ -442,6 +442,11 @@ return true; } +static bool qt_rcc_compare_hash(const RCCFileInfo *left, const RCCFileInfo *right) +{ + return qt_hash(left->name) < qt_hash(right->name); +} + bool RCCResourceLibrary::writeDataBlobs(FILE *out) { @@ -455,9 +460,13 @@ qint64 offset = 0; while(!pending.isEmpty()) { RCCFileInfo *file = pending.pop(); - for(QHash<QString, RCCFileInfo*>::iterator it = file->children.begin(); - it != file->children.end(); ++it) { - RCCFileInfo *child = it.value(); + + // Sort deterministically for reproducible builds. + QList<RCCFileInfo*> children = file->children.values(); + qSort(children.begin(), children.end(), qt_rcc_compare_hash); + + for(int i = 0; i < children.size(); ++i) { + RCCFileInfo *child = children.at(i); if(child->flags & RCCFileInfo::Directory) pending.push(child); else @@ -483,9 +492,13 @@ qint64 offset = 0; while(!pending.isEmpty()) { RCCFileInfo *file = pending.pop(); - for(QHash<QString, RCCFileInfo*>::iterator it = file->children.begin(); - it != file->children.end(); ++it) { - RCCFileInfo *child = it.value(); + + // Sort deterministically for reproducible builds. + QList<RCCFileInfo*> children = file->children.values(); + qSort(children.begin(), children.end(), qt_rcc_compare_hash); + + for(int i = 0; i < children.size(); ++i) { + RCCFileInfo *child = children.at(i); if(child->flags & RCCFileInfo::Directory) pending.push(child); if(names.contains(child->name)) { @@ -500,11 +513,6 @@ return true; } -static bool qt_rcc_compare_hash(const RCCFileInfo *left, const RCCFileInfo *right) -{ - return qt_hash(left->name) < qt_hash(right->name); -} - bool RCCResourceLibrary::writeDataStructure(FILE *out, int version) { fprintf(out, "qt_resource_struct_v%d = b\"\\\n", version); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qcoreapplication.sip new/PyQt5-5.15.10/sip/QtCore/qcoreapplication.sip --- old/PyQt5-5.15.9/sip/QtCore/qcoreapplication.sip 2023-02-04 13:33:37.867245400 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qcoreapplication.sip 2023-10-12 12:54:48.816437000 +0200 @@ -320,7 +320,7 @@ # Convenient type aliases. PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal] -PYQT_SLOT = typing.Union[typing.Callable[..., None], QtCore.pyqtBoundSignal] +PYQT_SLOT = typing.Union[typing.Callable[..., Any], QtCore.pyqtBoundSignal] %End %TypeHintCode @@ -363,6 +363,14 @@ def emit(self, *args: typing.Any) -> None: ... +FuncT = typing.TypeVar('FuncT', bound=typing.Callable) +def pyqtSlot(*types, name: typing.Optional[str] = ..., result: typing.Optional[str] = ...) -> typing.Callable[[FuncT], FuncT]: ... + + +# For QObject.findChild() and QObject.findChildren(). +QObjectT = typing.TypeVar('QObjectT', bound=QObject) + + # Convenient type aliases. PYQT_SIGNAL = typing.Union[pyqtSignal, pyqtBoundSignal] PYQT_SLOT = typing.Union[typing.Callable[..., None], pyqtBoundSignal] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qcoreevent.sip new/PyQt5-5.15.10/sip/QtCore/qcoreevent.sip --- old/PyQt5-5.15.9/sip/QtCore/qcoreevent.sip 2023-02-04 13:33:37.880587000 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qcoreevent.sip 2023-10-12 12:54:48.830318500 +0200 @@ -188,6 +188,9 @@ TouchBegin, TouchUpdate, TouchEnd, +%If (Qt_5_2_0 -) + NativeGesture, +%End RequestSoftwareInputPanel, CloseSoftwareInputPanel, WinIdChange, @@ -213,6 +216,8 @@ %If (Qt_5_9_0 -) TabletTrackingChange, %End + EnterEditFocus, + LeaveEditFocus, User, MaxUser, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qdeadlinetimer.sip new/PyQt5-5.15.10/sip/QtCore/qdeadlinetimer.sip --- old/PyQt5-5.15.9/sip/QtCore/qdeadlinetimer.sip 2023-02-04 13:33:37.967095400 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qdeadlinetimer.sip 2023-10-12 12:54:48.888996400 +0200 @@ -34,9 +34,9 @@ Forever, }; - QDeadlineTimer(Qt::TimerType type = Qt::CoarseTimer); - QDeadlineTimer(QDeadlineTimer::ForeverConstant, Qt::TimerType type = Qt::CoarseTimer); - QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer); + QDeadlineTimer(Qt::TimerType type /Constrained/ = Qt::CoarseTimer); + QDeadlineTimer(QDeadlineTimer::ForeverConstant /Constrained/, Qt::TimerType type /Constrained/ = Qt::CoarseTimer); + QDeadlineTimer(qint64 msecs, Qt::TimerType type /Constrained/ = Qt::CoarseTimer); void swap(QDeadlineTimer &other /Constrained/); bool isForever() const; bool hasExpired() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qglobal.sip new/PyQt5-5.15.10/sip/QtCore/qglobal.sip --- old/PyQt5-5.15.9/sip/QtCore/qglobal.sip 2023-02-04 13:33:37.942022300 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qglobal.sip 2023-10-12 12:54:48.885069600 +0200 @@ -29,8 +29,8 @@ const char *PYQT_VERSION_STR; %ModuleCode -static int PYQT_VERSION = 0x050f09; -static const char *PYQT_VERSION_STR = "5.15.9"; +static int PYQT_VERSION = 0x050f0a; +static const char *PYQT_VERSION_STR = "5.15.10"; %End const int QT_VERSION; const char *QT_VERSION_STR; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qobject.sip new/PyQt5-5.15.10/sip/QtCore/qobject.sip --- old/PyQt5-5.15.9/sip/QtCore/qobject.sip 2023-02-04 13:33:37.837152700 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qobject.sip 2023-10-12 12:54:48.804066000 +0200 @@ -459,7 +459,7 @@ sipRes = new QString(QCoreApplication::translate(sipPyTypeName(Py_TYPE(sipSelf)), a0, a1, a2)); %End - SIP_PYOBJECT findChild(SIP_PYTYPE type, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="QObject"/; + SIP_PYOBJECT findChild(SIP_PYTYPE type /TypeHint="Type[QObjectT]"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="QObjectT"/; %MethodCode sipRes = qtcore_FindChild(sipCpp, qtcore_type_to_tuple(a0), *a1, *a2); @@ -467,7 +467,7 @@ sipIsErr = 1; %End - SIP_PYOBJECT findChild(SIP_PYTUPLE types /TypeHintValue="()"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="QObject"/; + SIP_PYOBJECT findChild(SIP_PYTUPLE types /TypeHint="Tuple[Type[QObjectT], ...]", TypeHintValue="()"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="QObjectT"/; %MethodCode sipRes = qtcore_FindChild(sipCpp, qtcore_check_tuple_types(a0), *a1, *a2); @@ -475,7 +475,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTYPE type, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTYPE type /TypeHint="Type[QObjectT]"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_type_to_tuple(a0), *a1, *a2); @@ -483,7 +483,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHintValue="()"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHint="Tuple[Type[QObjectT], ...]", TypeHintValue="()"/, const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_check_tuple_types(a0), *a1, *a2); @@ -491,7 +491,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTYPE type, const QRegExp ®Exp, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTYPE type /TypeHint="Type[QObjectT]"/, const QRegExp ®Exp, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_type_to_tuple(a0), *a1, *a2); @@ -499,7 +499,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHintValue="()"/, const QRegExp ®Exp, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHint="Tuple[Type[QObjectT], ...]", TypeHintValue="()"/, const QRegExp ®Exp, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_check_tuple_types(a0), *a1, *a2); @@ -507,7 +507,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTYPE type, const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTYPE type /TypeHint="Type[QObjectT]"/, const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_type_to_tuple(a0), *a1, *a2); @@ -515,7 +515,7 @@ sipIsErr = 1; %End - SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHintValue="()"/, const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObject]"/; + SIP_PYLIST findChildren(SIP_PYTUPLE types /TypeHint="Tuple[Type[QObjectT], ...]", TypeHintValue="()"/, const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const /TypeHint="List[QObjectT]"/; %MethodCode sipRes = qtcore_FindChildren(sipCpp, qtcore_check_tuple_types(a0), *a1, *a2); @@ -691,7 +691,7 @@ sipRes = a1; %End -SIP_PYOBJECT pyqtSlot(... types, const char *name = 0, const char *result = 0) /NoArgParser, TypeHint="Callable[..., Optional[str]]"/; +SIP_PYOBJECT pyqtSlot(... types, const char *name = 0, const char *result = 0) /NoArgParser, NoTypeHint/; %Docstring @pyqtSlot(*types, name: Optional[str], result: Optional[str]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtCore/qstring.sip new/PyQt5-5.15.10/sip/QtCore/qstring.sip --- old/PyQt5-5.15.9/sip/QtCore/qstring.sip 2023-02-04 13:33:37.830144600 +0100 +++ new/PyQt5-5.15.10/sip/QtCore/qstring.sip 2023-10-12 12:54:48.795381300 +0200 @@ -21,7 +21,7 @@ // QString mapped type. -%MappedType QString /AllowNone,TypeHint="str",TypeHintValue="''"/ +%MappedType QString /AllowNone, TypeHintIn="Optional[str]", TypeHintOut="str", TypeHintValue="''"/ { %TypeHeaderCode #include <qstring.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtGui/qpainter.sip new/PyQt5-5.15.10/sip/QtGui/qpainter.sip --- old/PyQt5-5.15.9/sip/QtGui/qpainter.sip 2023-02-04 13:33:37.265914000 +0100 +++ new/PyQt5-5.15.10/sip/QtGui/qpainter.sip 2023-10-12 12:54:48.462582300 +0200 @@ -192,7 +192,7 @@ void drawPoints(const QPolygonF &points); void drawPoints(const QPolygon &points); void drawPoints(const QPointF *points /Array/, int pointCount /ArraySize/); - void drawPoints(const QPointF *point, ...); + void drawPoints(const QPointF *point, ... /TypeHint="QPointF"/); %MethodCode QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF); @@ -206,7 +206,7 @@ %End void drawPoints(const QPoint *points /Array/, int pointCount /ArraySize/); - void drawPoints(const QPoint *point, ...); + void drawPoints(const QPoint *point, ... /TypeHint="QPoint"/); %MethodCode QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint); @@ -220,7 +220,7 @@ %End void drawLines(const QLineF *lines /Array/, int lineCount /ArraySize/); - void drawLines(const QLineF *line, ...); + void drawLines(const QLineF *line, ... /TypeHint="QLineF"/); %MethodCode QLineF *lines = qtgui_inst_array<QLineF>(a0, a1, sipType_QLineF); @@ -238,7 +238,7 @@ sipCpp->drawLines(a0, a1 / 2); %End - void drawLines(const QPointF *pointPair, ...); + void drawLines(const QPointF *pointPair, ... /TypeHint="QPointF"/); %MethodCode QPointF *pairs = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF); @@ -252,7 +252,7 @@ %End void drawLines(const QLine *lines /Array/, int lineCount /ArraySize/); - void drawLines(const QLine *line, ...); + void drawLines(const QLine *line, ... /TypeHint="QLine"/); %MethodCode QLine *lines = qtgui_inst_array<QLine>(a0, a1, sipType_QLine); @@ -270,7 +270,7 @@ sipCpp->drawLines(a0, a1 / 2); %End - void drawLines(const QPoint *pointPair, ...); + void drawLines(const QPoint *pointPair, ... /TypeHint="QPoint"/); %MethodCode QPoint *pairs = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint); @@ -284,7 +284,7 @@ %End void drawRects(const QRectF *rects /Array/, int rectCount /ArraySize/); - void drawRects(const QRectF *rect, ...); + void drawRects(const QRectF *rect, ... /TypeHint="QRectF"/); %MethodCode QRectF *rects = qtgui_inst_array<QRectF>(a0, a1, sipType_QRectF); @@ -298,7 +298,7 @@ %End void drawRects(const QRect *rects /Array/, int rectCount /ArraySize/); - void drawRects(const QRect *rect, ...); + void drawRects(const QRect *rect, ... /TypeHint="QRect"/); %MethodCode QRect *rects = qtgui_inst_array<QRect>(a0, a1, sipType_QRect); @@ -316,7 +316,7 @@ void drawPolyline(const QPolygonF &polyline); void drawPolyline(const QPolygon &polyline); void drawPolyline(const QPointF *points /Array/, int pointCount /ArraySize/); - void drawPolyline(const QPointF *point, ...); + void drawPolyline(const QPointF *point, ... /TypeHint="QPointF"/); %MethodCode QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF); @@ -330,7 +330,7 @@ %End void drawPolyline(const QPoint *points /Array/, int pointCount /ArraySize/); - void drawPolyline(const QPoint *point, ...); + void drawPolyline(const QPoint *point, ... /TypeHint="QPoint"/); %MethodCode QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint); @@ -346,7 +346,7 @@ void drawPolygon(const QPolygonF &points, Qt::FillRule fillRule = Qt::OddEvenFill); void drawPolygon(const QPolygon &points, Qt::FillRule fillRule = Qt::OddEvenFill); void drawPolygon(const QPointF *points /Array/, int pointCount /ArraySize/, Qt::FillRule fillRule = Qt::OddEvenFill); - void drawPolygon(const QPointF *point, ...); + void drawPolygon(const QPointF *point, ... /TypeHint="QPointF"/); %MethodCode QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF); @@ -360,7 +360,7 @@ %End void drawPolygon(const QPoint *points /Array/, int pointCount /ArraySize/, Qt::FillRule fillRule = Qt::OddEvenFill); - void drawPolygon(const QPoint *point, ...); + void drawPolygon(const QPoint *point, ... /TypeHint="QPoint"/); %MethodCode QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint); @@ -376,7 +376,7 @@ void drawConvexPolygon(const QPolygonF &poly); void drawConvexPolygon(const QPolygon &poly); void drawConvexPolygon(const QPointF *points /Array/, int pointCount /ArraySize/); - void drawConvexPolygon(const QPointF *point, ...); + void drawConvexPolygon(const QPointF *point, ... /TypeHint="QPointF"/); %MethodCode QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF); @@ -390,7 +390,7 @@ %End void drawConvexPolygon(const QPoint *points /Array/, int pointCount /ArraySize/); - void drawConvexPolygon(const QPoint *point, ...); + void drawConvexPolygon(const QPoint *point, ... /TypeHint="QPoint"/); %MethodCode QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5-5.15.9/sip/QtGui/qpolygon.sip new/PyQt5-5.15.10/sip/QtGui/qpolygon.sip --- old/PyQt5-5.15.9/sip/QtGui/qpolygon.sip 2023-02-04 13:33:37.224603400 +0100 +++ new/PyQt5-5.15.10/sip/QtGui/qpolygon.sip 2023-10-12 12:54:48.436666300 +0200 @@ -116,7 +116,7 @@ } %End - void setPoints(int firstx, int firsty, ...); + void setPoints(int firstx, int firsty, ... /TypeHint="int"/); %MethodCode // Accept at least one pair of integer coordinates. int nPoints = 1 + ((PyTuple_Size(a2) + 1) >> 1); @@ -134,7 +134,7 @@ delete[] points; %End - void putPoints(int index, int firstx, int firsty, ...); + void putPoints(int index, int firstx, int firsty, ... /TypeHint="int"/); %MethodCode // Accept at least one pair of integer coordinates. int nPoints = 1 + ((PyTuple_Size(a3) + 1) >> 1);