From 35521a8dac1cd10fe0e2bba9eb4df1b2a97320ef Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 12 Jun 2009 09:49:35 +1000 Subject: Help people find poor uses of QString -> QUrl conversion. Since a file name looks just like a relative URL, bugs can easily creep in if QString can be assigned directly to a QUrl rather than, for example, with an explicity "file:" scheme, or via QUrl::resolved(QUrl(...)). --- src/corelib/io/qurl.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index e9c4a8d..276872b 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -81,12 +81,17 @@ public: Q_DECLARE_FLAGS(FormattingOptions, FormattingOption) QUrl(); +#ifdef Q_EXPLICIT_URL_QSTRING_CONVERSION + explicit +#endif QUrl(const QString &url); QUrl(const QString &url, ParsingMode mode); // ### Qt 5: merge the two constructors, with mode = TolerantMode QUrl(const QUrl ©); QUrl &operator =(const QUrl ©); +#ifndef Q_EXPLICIT_URL_QSTRING_CONVERSION QUrl &operator =(const QString &url); +#endif ~QUrl(); void setUrl(const QString &url); @@ -235,7 +240,9 @@ public: { url = QString::fromLatin1(QUrl::toPercentEncoding(url).constData()); } +#ifndef Q_EXPLICIT_URL_QSTRING_CONVERSION inline QT3_SUPPORT operator QString() const { return toString(); } +#endif inline QT3_SUPPORT bool cdUp() { *this = resolved(QUrl(QLatin1String(".."))); -- cgit v0.12