Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
5.2.0
Description
The handling of arguments masked with ' (ASCII char 0x27) has changed in 5.1 on Windows. QCoreApplication will report the original PATH, while Qt 5.1 stripped the ':
#include <QCoreApplication> #include <QDebug> #include <QStringList> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug() << "QCoreApplicaton::arguments().last(): " << qPrintable(a.arguments().last()); }
run with 5.1:
test.exe 'hello'
QCoreApplicaton::arguments().last(): hello
with 5.2:
test.exe 'hello' QCoreApplicaton::arguments().last(): 'hello'
Since this might possibly affect a lot of applications, it should at least be documented. The change of behavior is most likely caused by https://codereview.qt-project.org/#change,64127 .
Attachments
Issue Links
- relates to
-
QTBUG-15379 Handling accents in program arguments
- Closed
-
QTBUG-30628 Application arguments with single quotes are parsed wrong
- Closed
- resulted from
-
QTCREATORBUG-10686 Qt Creator 3.0 Error when opening .pro file via Windows explorer context menu
- Closed
For Gerrit Dashboard: QTBUG-34744 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
71062,1 | Doc: document QCoreApplication::arguments() behavior fix in Windows | release | qt/qtbase | Status: MERGED | +2 | 0 |