Hello community, here is the log from the commit of package python-qt5 for openSUSE:Factory checked in at 2019-04-22 12:24:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-qt5 (Old) and /work/SRC/openSUSE:Factory/.python-qt5.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qt5" Mon Apr 22 12:24:24 2019 rev:35 rq:696160 version:5.12.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-qt5/python-qt5.changes 2019-02-14 14:22:25.347957886 +0100 +++ /work/SRC/openSUSE:Factory/.python-qt5.new.5536/python-qt5.changes 2019-04-22 12:24:28.532936863 +0200 @@ -1,0 +2,20 @@ +Thu Apr 18 17:53:06 UTC 2019 - Jan Engelhardt <jeng...@inai.de> + +- Trim name repetition from summary. + +------------------------------------------------------------------- +Wed Apr 17 15:22:28 UTC 2019 - Todd R <toddrme2...@gmail.com> + +- Package .dist-info directory. The bugs with it have been fixed + and some packages require it in order to properly detect that + pyqt5 is installed. + +------------------------------------------------------------------- +Sat Apr 6 14:19:33 UTC 2019 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.12.1 + Fixed QIcon(QIconEngine) to reflect that the engine is explicitly + shared between every copy of the icon. +- Prepare update-timeline.patch for Qt 5.13.0 + +------------------------------------------------------------------- Old: ---- PyQt5_gpl-5.12.tar.gz New: ---- PyQt5_gpl-5.12.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-qt5.spec ++++++ --- /var/tmp/diff_new_pack.jDmO4u/_old 2019-04-22 12:24:29.784937833 +0200 +++ /var/tmp/diff_new_pack.jDmO4u/_new 2019-04-22 12:24:29.788937836 +0200 @@ -18,9 +18,9 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-qt5 -Version: 5.12 +Version: 5.12.1 Release: 0 -Summary: PyQt - python bindings for Qt 5 +Summary: Python bindings for Qt 5 License: SUSE-GPL-2.0-with-FLOSS-exception OR GPL-3.0-only OR NonFree Group: Development/Libraries/Python URL: https://www.riverbankcomputing.com/software/pyqt @@ -197,7 +197,6 @@ ln -s ../config-tests . $python ../configure.py --verbose \ - --no-dist-info \ --confirm-license \ --assume-shared \ --debug \ @@ -257,6 +256,7 @@ %doc build_%{python_bin_suffix}/README %doc NEWS ChangeLog %{python_sitearch}/PyQt5/ +%{python_sitearch}/PyQt5-%{version}.dist-info/ %{python_sitelib}/dbus/mainloop/pyqt5.so %dir %{_libqt5_plugindir}/PyQt5/ %{_libqt5_plugindir}/PyQt5/libpy%{python_bin_suffix}qt5qmlplugin.so ++++++ PyQt5_gpl-5.12.tar.gz -> PyQt5_gpl-5.12.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/ChangeLog new/PyQt5_gpl-5.12.1/ChangeLog --- old/PyQt5_gpl-5.12/ChangeLog 2019-02-04 16:16:06.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/ChangeLog 2019-03-19 15:42:34.000000000 +0100 @@ -1,5 +1,68 @@ +2019-03-19 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS: + Released as v5.12.1. + [19c22cf8059b] [5.12.1] <5.12-maint> + + * PyQt5.msp: + Fixed QIcon(QIconEngine) to reflect that the engine is explicitly + shared between every copy of the icon. + [85ce20a0fa09] <5.12-maint> + +2019-03-18 Phil Thompson <p...@riverbankcomputing.com> + + * NEWS: + Updated the NEWS file. + [cc3a848d0b27] <5.12-maint> + +2019-03-17 Phil Thompson <p...@riverbankcomputing.com> + + * PyQt5.msp: + Updated for Qt v5.12.2. + [71df8ce4b154] <5.12-maint> + +2019-03-06 Phil Thompson <p...@riverbankcomputing.com> + + * qpy/QtQml/qpyqmlobject.cpp, qpy/QtQml/qpyqmlobject.h: + Eliminated a warning message from QObject::connect() in (hopefully) + benign circumstances. + [0950192b85ee] <5.12-maint> + + * qpy/QtQuick/qpyquickitem.cpp, qpy/QtQuick/qpyquickitem.h: + Increased the number of QQuickItem types that can be registered from + 30 to 60. + [1916f00c5b9e] <5.12-maint> + + * PyQt5.msp: + Fixed the QPolygon ctors that take a list argument so that + unpickling works. + [329dbcbceeb7] <5.12-maint> + +2019-02-21 Phil Thompson <p...@riverbankcomputing.com> + + * PyQt5.msp: + Updated sub-class convertors to switch to the QObject convertor + rather than resolve (in a limited way) QObject based QGraphicItems. + Make sure the QObject base type is always used when switching. + [e83237b00873] <5.12-maint> + +2019-02-19 Phil Thompson <p...@riverbankcomputing.com> + + * pyuic/uic/properties.py: + Fixed pyuic's handling of 'sizePolicy' properties. + [23a0e1edccc3] <5.12-maint> + + * qpy/pylupdate/fetchtr.cpp: + Fixed pylupdate to handle empty strings at the end of a line so that + the line number remains correct. + [df2d5e1f4012] <5.12-maint> + 2019-02-04 Phil Thompson <p...@riverbankcomputing.com> + * .hgtags: + Added tag 5.12 for changeset 526660b54717 + [41a56ae09f54] + * NEWS: Released as v5.12. [526660b54717] [5.12] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/NEWS new/PyQt5_gpl-5.12.1/NEWS --- old/PyQt5_gpl-5.12/NEWS 2019-02-04 16:00:58.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/NEWS 2019-03-19 15:26:10.000000000 +0100 @@ -1,3 +1,6 @@ +v5.12.1 19th March 2019 + - Added support for Qt v5.12.2. + v5.12 10th February 2019 - Added support for Qt v5.12.0 and Qt v5.12.1. - Added the QtRemoteObjects module. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/configure.py new/PyQt5_gpl-5.12.1/configure.py --- old/PyQt5_gpl-5.12/configure.py 2019-02-04 16:16:06.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/configure.py 2019-03-19 15:42:34.000000000 +0100 @@ -28,7 +28,7 @@ # Initialise the constants. -PYQT_VERSION_STR = "5.12" +PYQT_VERSION_STR = "5.12.1" SIP_MIN_VERSION = '4.19.14' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/pyuic/uic/properties.py new/PyQt5_gpl-5.12.1/pyuic/uic/properties.py --- old/PyQt5_gpl-5.12/pyuic/uic/properties.py 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/pyuic/uic/properties.py 2019-03-19 15:42:47.000000000 +0100 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2017 Riverbank Computing Limited. +## Copyright (C) 2019 Riverbank Computing Limited. ## Copyright (C) 2006 Thorsten Marek. ## All right reserved. ## @@ -436,7 +436,7 @@ # These properties will be set with a widget.setProperty call rather than # calling the set<property> function. def _setViaSetProperty(self, widget, prop): - prop_value = self.convert(prop) + prop_value = self.convert(prop, widget) if prop_value is not None: prop_name = prop.attrib['name'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/qpy/QtQml/qpyqmlobject.cpp new/PyQt5_gpl-5.12.1/qpy/QtQml/qpyqmlobject.cpp --- old/PyQt5_gpl-5.12/qpy/QtQml/qpyqmlobject.cpp 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/qpy/QtQml/qpyqmlobject.cpp 2019-03-19 15:42:46.000000000 +0100 @@ -62,7 +62,15 @@ // connection was itself being destroyed. void QPyQmlObjectProxy::connectNotify(const QMetaMethod &sig) { - QByteArray signal_sig = signalSignature(sig); + QByteArray signal_sig(sig.methodSignature()); + + // Avoid a warning message from QObject::connect(). This seems to happen + // when a notification signal of the proxied object gets connected to a + // property that is defined in QML. I think it is benign... + if (signal_sig.isEmpty()) + return; + + signal_sig.prepend('2'); // The signal has actually been connected to the proxy, so do the same from // the proxied object to the proxy. Use Qt::UniqueConnection in case the @@ -72,16 +80,6 @@ } -// Return what SIGNAL() would return for a method. -QByteArray QPyQmlObjectProxy::signalSignature(const QMetaMethod &signal) -{ - QByteArray signal_sig(signal.methodSignature()); - signal_sig.prepend('2'); - - return signal_sig; -} - - // Delegate to the real object. const QMetaObject *QPyQmlObjectProxy::metaObject() const { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/qpy/QtQml/qpyqmlobject.h new/PyQt5_gpl-5.12.1/qpy/QtQml/qpyqmlobject.h --- old/PyQt5_gpl-5.12/qpy/QtQml/qpyqmlobject.h 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/qpy/QtQml/qpyqmlobject.h 2019-03-19 15:42:46.000000000 +0100 @@ -132,8 +132,6 @@ // The wrapped proxied object. PyObject *py_proxied; - static QByteArray signalSignature(const QMetaMethod &signal); - QPyQmlObjectProxy(const QPyQmlObjectProxy &); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/qpy/QtQuick/qpyquickitem.cpp new/PyQt5_gpl-5.12.1/qpy/QtQuick/qpyquickitem.cpp --- old/PyQt5_gpl-5.12/qpy/QtQuick/qpyquickitem.cpp 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/qpy/QtQuick/qpyquickitem.cpp 2019-03-19 15:42:46.000000000 +0100 @@ -28,7 +28,7 @@ // The maximum number of Python QQuickItem types. -const int NrOfQuickItemTypes = 30; +const int NrOfQuickItemTypes = 60; // The list of registered Python types. static QList<PyTypeObject *> pyqt_types; @@ -128,6 +128,36 @@ QPYQUICKITEM_INIT(27); QPYQUICKITEM_INIT(28); QPYQUICKITEM_INIT(29); + QPYQUICKITEM_INIT(30); + QPYQUICKITEM_INIT(31); + QPYQUICKITEM_INIT(32); + QPYQUICKITEM_INIT(33); + QPYQUICKITEM_INIT(34); + QPYQUICKITEM_INIT(35); + QPYQUICKITEM_INIT(36); + QPYQUICKITEM_INIT(37); + QPYQUICKITEM_INIT(38); + QPYQUICKITEM_INIT(39); + QPYQUICKITEM_INIT(40); + QPYQUICKITEM_INIT(41); + QPYQUICKITEM_INIT(42); + QPYQUICKITEM_INIT(43); + QPYQUICKITEM_INIT(44); + QPYQUICKITEM_INIT(45); + QPYQUICKITEM_INIT(46); + QPYQUICKITEM_INIT(47); + QPYQUICKITEM_INIT(48); + QPYQUICKITEM_INIT(49); + QPYQUICKITEM_INIT(50); + QPYQUICKITEM_INIT(51); + QPYQUICKITEM_INIT(52); + QPYQUICKITEM_INIT(53); + QPYQUICKITEM_INIT(54); + QPYQUICKITEM_INIT(55); + QPYQUICKITEM_INIT(56); + QPYQUICKITEM_INIT(57); + QPYQUICKITEM_INIT(58); + QPYQUICKITEM_INIT(59); } return rt; @@ -193,3 +223,33 @@ QPYQUICKITEM_IMPL(27); QPYQUICKITEM_IMPL(28); QPYQUICKITEM_IMPL(29); +QPYQUICKITEM_IMPL(30); +QPYQUICKITEM_IMPL(31); +QPYQUICKITEM_IMPL(32); +QPYQUICKITEM_IMPL(33); +QPYQUICKITEM_IMPL(34); +QPYQUICKITEM_IMPL(35); +QPYQUICKITEM_IMPL(36); +QPYQUICKITEM_IMPL(37); +QPYQUICKITEM_IMPL(38); +QPYQUICKITEM_IMPL(39); +QPYQUICKITEM_IMPL(40); +QPYQUICKITEM_IMPL(41); +QPYQUICKITEM_IMPL(42); +QPYQUICKITEM_IMPL(43); +QPYQUICKITEM_IMPL(44); +QPYQUICKITEM_IMPL(45); +QPYQUICKITEM_IMPL(46); +QPYQUICKITEM_IMPL(47); +QPYQUICKITEM_IMPL(48); +QPYQUICKITEM_IMPL(49); +QPYQUICKITEM_IMPL(50); +QPYQUICKITEM_IMPL(51); +QPYQUICKITEM_IMPL(52); +QPYQUICKITEM_IMPL(53); +QPYQUICKITEM_IMPL(54); +QPYQUICKITEM_IMPL(55); +QPYQUICKITEM_IMPL(56); +QPYQUICKITEM_IMPL(57); +QPYQUICKITEM_IMPL(58); +QPYQUICKITEM_IMPL(59); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/qpy/QtQuick/qpyquickitem.h new/PyQt5_gpl-5.12.1/qpy/QtQuick/qpyquickitem.h --- old/PyQt5_gpl-5.12/qpy/QtQuick/qpyquickitem.h 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/qpy/QtQuick/qpyquickitem.h 2019-03-19 15:42:46.000000000 +0100 @@ -93,6 +93,36 @@ QPYQUICKITEM_DECL(27); QPYQUICKITEM_DECL(28); QPYQUICKITEM_DECL(29); +QPYQUICKITEM_DECL(30); +QPYQUICKITEM_DECL(31); +QPYQUICKITEM_DECL(32); +QPYQUICKITEM_DECL(33); +QPYQUICKITEM_DECL(34); +QPYQUICKITEM_DECL(35); +QPYQUICKITEM_DECL(36); +QPYQUICKITEM_DECL(37); +QPYQUICKITEM_DECL(38); +QPYQUICKITEM_DECL(39); +QPYQUICKITEM_DECL(40); +QPYQUICKITEM_DECL(41); +QPYQUICKITEM_DECL(42); +QPYQUICKITEM_DECL(43); +QPYQUICKITEM_DECL(44); +QPYQUICKITEM_DECL(45); +QPYQUICKITEM_DECL(46); +QPYQUICKITEM_DECL(47); +QPYQUICKITEM_DECL(48); +QPYQUICKITEM_DECL(49); +QPYQUICKITEM_DECL(50); +QPYQUICKITEM_DECL(51); +QPYQUICKITEM_DECL(52); +QPYQUICKITEM_DECL(53); +QPYQUICKITEM_DECL(54); +QPYQUICKITEM_DECL(55); +QPYQUICKITEM_DECL(56); +QPYQUICKITEM_DECL(57); +QPYQUICKITEM_DECL(58); +QPYQUICKITEM_DECL(59); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/qpy/pylupdate/fetchtr.cpp new/PyQt5_gpl-5.12.1/qpy/pylupdate/fetchtr.cpp --- old/PyQt5_gpl-5.12/qpy/pylupdate/fetchtr.cpp 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/qpy/pylupdate/fetchtr.cpp 2019-03-19 15:42:46.000000000 +0100 @@ -1,5 +1,5 @@ /********************************************************************** -** Copyright (C) 2016 Riverbank Computing Limited +** Copyright (C) 2019 Riverbank Computing Limited ** Copyright (C) 2002-2007 Detlev Offenbach <det...@die-offenbachs.de> ** ** This is a modified version of lupdate. The original is part of Qt-Linguist. @@ -157,16 +157,19 @@ { int c; - if ( buf < 0 ) { // Empty buffer? + if (buf < 0 ) + { c = getTranslatedCharFromFile(); - } else { + + if (c == '\n') // This is after universal newline translation + yyCurLineNo++; // (i.e., a "logical" newline character). + } + else + { c = buf; buf = -1; // Declare the buffer empty. } - if ( c == '\n' ) // This is after universal newline translation - yyCurLineNo++; // (i.e., a "logical" newline character). - return c; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtCore/QtCoremod.sip new/PyQt5_gpl-5.12.1/sip/QtCore/QtCoremod.sip --- old/PyQt5_gpl-5.12/sip/QtCore/QtCoremod.sip 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtCore/QtCoremod.sip 2019-03-19 15:42:47.000000000 +0100 @@ -22,7 +22,7 @@ %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True) -%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1} +%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2} %Platforms {WS_X11 WS_WIN WS_MACX} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtCore/qglobal.sip new/PyQt5_gpl-5.12.1/sip/QtCore/qglobal.sip --- old/PyQt5_gpl-5.12/sip/QtCore/qglobal.sip 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtCore/qglobal.sip 2019-03-19 15:42:47.000000000 +0100 @@ -29,8 +29,8 @@ const char *PYQT_VERSION_STR; %ModuleCode -static int PYQT_VERSION = 0x050c00; -static const char *PYQT_VERSION_STR = "5.12"; +static int PYQT_VERSION = 0x050c01; +static const char *PYQT_VERSION_STR = "5.12.1"; %End const int QT_VERSION; const char *QT_VERSION_STR; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtGui/qicon.sip new/PyQt5_gpl-5.12.1/sip/QtGui/qicon.sip --- old/PyQt5_gpl-5.12/sip/QtGui/qicon.sip 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtGui/qicon.sip 2019-03-19 15:42:47.000000000 +0100 @@ -45,7 +45,17 @@ QIcon(const QPixmap &pixmap); QIcon(const QIcon &other); explicit QIcon(const QString &fileName); - explicit QIcon(QIconEngine *engine /Transfer/); + explicit QIcon(QIconEngine *engine /GetWrapper/); +%MethodCode + sipCpp = new QIcon(a0); + + // The QIconEngine is implicitly shared by copies of the QIcon and is destroyed + // by C++ when the last copy is destroyed. Therefore we need to transfer + // ownership but not to associate it with this QIcon. The Python object will + // get tidied up when the virtual dtor gets called. + sipTransferTo(a0Wrapper, Py_None); +%End + QIcon(const QVariant &variant /GetWrapper/) /NoDerived/; %MethodCode if (a0->canConvert<QIcon>()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtGui/qpolygon.sip new/PyQt5_gpl-5.12.1/sip/QtGui/qpolygon.sip --- old/PyQt5_gpl-5.12/sip/QtGui/qpolygon.sip 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtGui/qpolygon.sip 2019-03-19 15:42:47.000000000 +0100 @@ -27,10 +27,11 @@ %End %TypeCode -// Set the points of a polygon from a Python list. -static bool setPointsFromList(QPolygon *poly, PyObject *l) +// Get a set of coordinate pairs of a polygon from a Python list. +static int *coordsFromList(PyObject *l, int &nr_points) { int *coords = new int[PyList_Size(l)]; + nr_points = PyList_Size(l) >> 1; for (Py_ssize_t i = 0; i < PyList_Size(l); ++i) { @@ -39,14 +40,11 @@ if (PyErr_Occurred() != NULL) { delete[] coords; - return false; + return 0; } } - poly->setPoints(PyList_Size(l) >> 1, coords); - - delete[] coords; - return true; + return coords; } %End @@ -70,21 +68,27 @@ QPolygon(); ~QPolygon(); QPolygon(const QPolygon &a); - QPolygon(const QVector<QPoint> &v); - QPolygon(const QRect &rectangle, bool closed = false); - explicit QPolygon(int asize); QPolygon(SIP_PYLIST points /TypeHint="List[int]"/) /NoDerived/; %MethodCode - sipCpp = new QPolygon(); + int nr_points; + int *coords = coordsFromList(a0, nr_points); - if (!setPointsFromList(sipCpp, a0)) + if (coords) { - delete sipCpp; - sipCpp = 0; - sipIsErr = 1; + sipCpp = new QPolygon(); + sipCpp->setPoints(nr_points, coords); + delete[] coords; + } + else + { + // Invoke the subsequent QVector<QPoint> overload. + sipError = sipErrorContinue; } %End + QPolygon(const QVector<QPoint> &v); + QPolygon(const QRect &rectangle, bool closed = false); + explicit QPolygon(int asize); QPolygon(const QVariant &variant /GetWrapper/) /NoDerived/; %MethodCode if (a0->canConvert<QPolygon>()) @@ -98,8 +102,18 @@ QPoint point(int index) const; void setPoints(SIP_PYLIST points /TypeHint="List[int]"/); %MethodCode - if (!setPointsFromList(sipCpp, a0)) + int nr_points; + int *coords = coordsFromList(a0, nr_points); + + if (coords) + { + sipCpp->setPoints(nr_points, coords); + delete[] coords; + } + else + { sipIsErr = 1; + } %End void setPoints(int firstx, int firsty, ...); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip new/PyQt5_gpl-5.12.1/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip --- old/PyQt5_gpl-5.12/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtMultimediaWidgets/qgraphicsvideoitem.sip 2019-03-19 15:42:47.000000000 +0100 @@ -31,9 +31,9 @@ // with the default. if (sipCpp->type() == QGraphicsItem::UserType) { - // We need to explicitly cast because of the multiple inheritance. + // Switch to the QObject convertor. *sipCppRet = static_cast<QGraphicsVideoItem *>(sipCpp); - sipType = sipType_QGraphicsVideoItem; + sipType = sipType_QObject; } else { @@ -69,7 +69,7 @@ virtual bool setMediaObject(QMediaObject *object); }; -%ModuleHeaderCode +%ModuleCode // This is needed by the %ConvertToSubClassCode. #include <QGraphicsVideoItem> %End diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtSvg/qgraphicssvgitem.sip new/PyQt5_gpl-5.12.1/sip/QtSvg/qgraphicssvgitem.sip --- old/PyQt5_gpl-5.12/sip/QtSvg/qgraphicssvgitem.sip 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtSvg/qgraphicssvgitem.sip 2019-03-19 15:42:46.000000000 +0100 @@ -29,9 +29,9 @@ %ConvertToSubClassCode if (sipCpp->type() == 13) { - // We need to explicitly cast because of the multiple inheritance. + // Switch to the QObject convertor. *sipCppRet = static_cast<QGraphicsSvgItem *>(sipCpp); - sipType = sipType_QGraphicsSvgItem; + sipType = sipType_QObject; } else sipType = 0; @@ -51,7 +51,7 @@ virtual int type() const; }; -%ModuleHeaderCode +%ModuleCode // This is needed by the %ConvertToSubClassCode. #include <qgraphicssvgitem.h> %End diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtWebKitWidgets/qgraphicswebview.sip new/PyQt5_gpl-5.12.1/sip/QtWebKitWidgets/qgraphicswebview.sip --- old/PyQt5_gpl-5.12/sip/QtWebKitWidgets/qgraphicswebview.sip 2019-02-04 16:16:16.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtWebKitWidgets/qgraphicswebview.sip 2019-03-19 15:42:46.000000000 +0100 @@ -26,23 +26,6 @@ #include <qgraphicswebview.h> %End -%ConvertToSubClassCode - sipType = 0; - - // For some reason Qt doesn't allocate a new type for this so we have to test - // the numeric and QObject types. - if (sipCpp->type() == 11) - { - QGraphicsWidget *gw = static_cast<QGraphicsWidget *>(sipCpp); - - if (gw->inherits("QGraphicsWebView")) - { - *sipCppRet = static_cast<QGraphicsWebView *>(gw); - sipType = sipType_QGraphicsWebView; - } - } -%End - public: explicit QGraphicsWebView(QGraphicsItem *parent /TransferThis/ = 0); virtual ~QGraphicsWebView(); @@ -119,7 +102,7 @@ void setRenderHint(QPainter::RenderHint hint, bool enabled = true); }; -%ModuleHeaderCode +%ModuleCode // This is needed by the %ConvertSubClassCode. #include <QGraphicsWebView> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtWidgets/qgraphicsitem.sip new/PyQt5_gpl-5.12.1/sip/QtWidgets/qgraphicsitem.sip --- old/PyQt5_gpl-5.12/sip/QtWidgets/qgraphicsitem.sip 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtWidgets/qgraphicsitem.sip 2019-03-19 15:42:47.000000000 +0100 @@ -54,9 +54,9 @@ break; case 8: - // We need to explicitly cast because of the multiple inheritance. + // Switch to the QObject convertor. *sipCppRet = static_cast<QGraphicsTextItem *>(sipCpp); - sipType = sipType_QGraphicsTextItem; + sipType = sipType_QObject; break; case 9: @@ -68,15 +68,15 @@ break; case 11: - // We need to explicitly cast because of the multiple inheritance. + // Switch to the QObject convertor. *sipCppRet = static_cast<QGraphicsWidget *>(sipCpp); - sipType = sipType_QGraphicsWidget; + sipType = sipType_QObject; break; case 12: - // We need to explicitly cast because of the multiple inheritance. + // Switch to the QObject convertor. *sipCppRet = static_cast<QGraphicsProxyWidget *>(sipCpp); - sipType = sipType_QGraphicsProxyWidget; + sipType = sipType_QObject; break; default: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyQt5_gpl-5.12/sip/QtWidgets/qlayoutitem.sip new/PyQt5_gpl-5.12.1/sip/QtWidgets/qlayoutitem.sip --- old/PyQt5_gpl-5.12/sip/QtWidgets/qlayoutitem.sip 2019-02-04 16:16:17.000000000 +0100 +++ new/PyQt5_gpl-5.12.1/sip/QtWidgets/qlayoutitem.sip 2019-03-19 15:42:47.000000000 +0100 @@ -37,9 +37,9 @@ } else { - // Cause a restart looking for a QLayout. + // Switch to the QObject convertor. *sipCppRet = sipCpp->layout(); - sipType = sipType_QLayout; + sipType = sipType_QObject; } %End ++++++ update-timeline.patch ++++++ --- /var/tmp/diff_new_pack.jDmO4u/_old 2019-04-22 12:24:31.040938806 +0200 +++ /var/tmp/diff_new_pack.jDmO4u/_new 2019-04-22 12:24:31.056938818 +0200 @@ -4,16 +4,16 @@ Is SIP unable to count or is there a different stupid reason all versions have to be mentioned manually? -Index: PyQt5_gpl-5.12/sip/QtCore/QtCoremod.sip -=================================================================== ---- PyQt5_gpl-5.12.orig/sip/QtCore/QtCoremod.sip -+++ PyQt5_gpl-5.12/sip/QtCore/QtCoremod.sip +diff --git a/sip/QtCore/QtCoremod.sip b/sip/QtCore/QtCoremod.sip +index 62dead4..b5854ad 100644 +--- a/sip/QtCore/QtCoremod.sip ++++ b/sip/QtCore/QtCoremod.sip @@ -22,7 +22,7 @@ %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True) --%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1} -+%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2} +-%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2} ++%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_4 Qt_5_9_5 Qt_5_9_6 Qt_5_9_7 Qt_5_9_8 Qt_5_9_9 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0 Qt_5_11_1 Qt_5_11_2 Qt_5_11_3 Qt_5_12_0 Qt_5_12_1 Qt_5_12_2 Qt_5_13_0} %Platforms {WS_X11 WS_WIN WS_MACX}