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

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to