[Development] Header diff for QtCore

Thiago Macieira thiago.macieira at intel.com
Sun Jul 7 08:02:28 CEST 2013


On quarta-feira, 26 de junho de 2013 13.49.36, Thiago Macieira wrote:
> +    bool open(OpenMode mode = ReadWrite) Q_DECL_OVERRIDE;

This has just been confirmed as to cause a binary compatibility issue.

The rule for overriding virtuals is that it's ok, provided the old 
implementation (namely, QIODevice::open) is still called. That's exactly what 
happens if you compile Qt Creator with Qt 5.0 and run it with 5.1. 
Utils::QtcProcess's vtable contains QIODevice::open, so it's like it overrode 
and used the old implementation.

The solution, as I see it, is to modify QProcess::start() to not depend on 
QIODevice::open.

Note: this problem also applies to QLocalSocket. QAbstractSocket is not 
affected because https://codereview.qt-project.org/43286 did not integrate.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130706/6a9bdfd7/attachment.sig>


More information about the Development mailing list