[PyQt] qt_handleMouseEvent - public API?

Florian Bruhin me at the-compiler.org
Tue Mar 29 16:32:55 BST 2016


* Dmitry Shachnev <mitya57 at ubuntu.com> [2016-03-29 16:59:03 +0200]:
> Hi Florian,
> 
> On Tue, Mar 29, 2016 at 09:01:51AM +0200, Florian Bruhin wrote:
> > on Archlinux, PyQt did break after updating Qt to 5.6:
> > 
> >     $ python -c "from PyQt5 import QtTest"
> >     Traceback (most recent call last):
> >       File "<string>", line 1, in <module>
> >     ImportError: /usr/lib/python3.5/site-packages/PyQt5/QtTest.so: undefined symbol:
> >     _Z19qt_handleMouseEventP7QWindowRK7QPointFS3_6QFlagsIN2Qt11MouseButtonEES4_INS5_16KeyboardModifierEE
> >
> > I'm not sure what happened here: Does qt_handleMouseEvent count as
> > public API (it has a Q_GUI_EXPORT and is in a public header), and this
> > was an unintentional ABI break from Qt?
> 
> To me it looks like an ABI break in Qt (and yes, that function matches the
> criteria for public API). I think you should send a mail to Qt's development
> mailing list, maybe it's not yet late to get it fixed in Qt 5.6.1.
> 
> PyQt5 is probably affected via QTest::mouseEvent, which is defined in an .h
> file, and thus the compiler has the right to inline it, which results in
> linking to that missing symbol.

Seems like it was pointed out and nobody did really care - instead
QtTest was declared not-necessarily ABI-compatible:

https://www.mail-archive.com/development@qt-project.org/msg23659.html
https://www.mail-archive.com/development@qt-project.org/msg23663.html

I opened a Qt bug now: https://bugreports.qt.io/browse/QTBUG-52205

Florian

-- 
    http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP)
       GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
     I'm running a crowdfunding to work on my FOSS-project full-time:
                  http://igg.me/at/qutebrowser
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160329/a76c50e3/attachment.sig>


More information about the PyQt mailing list