[PyQt] sip changesets 71a8ee38b2c6 & 948e06cb1921 (sip 4.19.1) break QGIS

Alessandro Pasotti apasotti at gmail.com
Wed Feb 22 11:11:17 GMT 2017


Hi,

I'm the author of that class, I don't know if that matters but the dtor is
private, the object destruction is handled by the instance with a call to
deleteLater.


in qgsfiledownloader.h (and in the SIP file as well):

  private:
    ~QgsFileDownloader();


I hope it helps.



On Wed, Feb 22, 2017 at 10:32 AM, Phil Thompson <phil at riverbankcomputing.com
> wrote:

> On 22 Feb 2017, at 3:49 am, Doug Newgard <scimmia at archlinux.info> wrote:
> >
> > QGIS builds fine with sip 4.19, but fails with 4.19.1. I bisected and
> found
> > that these two changesets are where things go wrong, it builds fine with
> > 6b23496bd532 and earlier but fails with the following errors with
> 948e06cb1921
> > and later.
> >
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:5798:7:
> error: delet
> > ed function ‘virtual sipQgsFileDownloader::~sipQgsFileDownloader()’
> > }
> >      ^
> > In file included from /home/dnewgard/PKGBUILDs/qgis/
> src/qgis-2.18.3/python/gui/qgsfiledownloader.sip
> > :33:0:
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/python/../src/gui/qgsfiledownloader.h:94:5:
> error: ove
> > rriding non-deleted function ‘virtual QgsFileDownloader::~
> QgsFileDownloader()’
> >    ~QgsFileDownloader();
> >    ^
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:5798:7:
> note: ‘virtu
> > al sipQgsFileDownloader::~sipQgsFileDownloader()’ is implicitly deleted
> because the default definiti
> > on would be ill-formed:
> > }
> >      ^
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:5798:7:
> error: ‘virt
> > ual QgsFileDownloader::~QgsFileDownloader()’ is private within this
> context
> > In file included from /home/dnewgard/PKGBUILDs/qgis/
> src/qgis-2.18.3/python/gui/qgsfiledownloader.sip
> > :33:0:
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/python/../src/gui/qgsfiledownloader.h:94:5:
> note: decl
> > ared private here
> >    ~QgsFileDownloader();
> >    ^
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:
> In constructor ‘sip
> > QgsFileDownloader::sipQgsFileDownloader(QUrl, QString, bool)’:
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:5830:122:
> error: ‘Qg
> > sFileDownloader::~QgsFileDownloader()’ is private within this context
> > bool sipQgsFileDownloader::eventFilter( ::QObject*a0, ::QEvent*a1)
> >
> >                     ^
> > In file included from /home/dnewgard/PKGBUILDs/qgis/
> src/qgis-2.18.3/python/gui/qgsfiledownloader.sip
> > :33:0:
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/python/../src/gui/qgsfiledownloader.h:94:5:
> note: declared private here
> >    ~QgsFileDownloader();
> >    ^
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:
> In function ‘void release_QgsFileDownloader(void*, int)’:
> > /home/dnewgard/PKGBUILDs/qgis/src/qgis-2.18.3/build/python/gui/sip_guipart3.cpp:6028:64:
> error: use of deleted function ‘virtual sipQgsFileDownloader::~
> sipQgsFileDownloader()’
> >                return NULL;
> >                                                               ^
> >
> >
> > I know little about sip, is this a regression with sip or something that
> QGIS
> > needs to fix? With both changesets talking about fixing regressions, I
> > wouldn't expect them to break things, so I'm trying here first.
>
> You need to compare the definitions of the QgsFileDownloader dtor in the
> .h and .sip files.
>
> Phil
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt
>



-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20170222/d4540a11/attachment-0001.html>


More information about the PyQt mailing list