diff options
author | Lars Knoll <lars.knoll@qt.io> | 2019-11-16 23:25:26 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-07-06 21:29:58 +0200 |
commit | 76004502baa118016c8e0f32895af7a822f1ba37 (patch) | |
tree | 3fb524e333cb2edf6e983c4898c76f9eebb04eb4 /qmake/library | |
parent | 2e51686746c45055e5bb74f58e0c159bfb6a8c13 (diff) |
Get rid of shared null for QByteArray, QString and QVector
As a side effect, data() can now return a nullptr. This
has the potential to cause crashes in existig code. To work
around this, return an empty string from QString::data()
and QByteArray::data() for now.
For Qt 6 (and once all our internal issues are fixed), data()
will by default return a nullptr for a null QString, but we'll
offer a #define to enable backwards compatible behavior.
Change-Id: I4f66d97ff1dce3eb99a239f1eab9106fa9b1741a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'qmake/library')
-rw-r--r-- | qmake/library/proitems.cpp | 3 | ||||
-rw-r--r-- | qmake/library/proitems.h | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/qmake/library/proitems.cpp b/qmake/library/proitems.cpp index 85569ecd82..db19794bec 100644 --- a/qmake/library/proitems.cpp +++ b/qmake/library/proitems.cpp @@ -156,7 +156,8 @@ QString ProString::toQString() const QString &ProString::toQString(QString &tmp) const { - return tmp.setRawData(m_string.constData() + m_offset, m_length); + tmp = m_string.mid(m_offset, m_length); + return tmp; } /* diff --git a/qmake/library/proitems.h b/qmake/library/proitems.h index 6e091354e4..bef93795d2 100644 --- a/qmake/library/proitems.h +++ b/qmake/library/proitems.h @@ -270,7 +270,6 @@ class ProStringRoUser public: ProStringRoUser(QString &rs) { - Q_ASSERT(rs.isDetached() || rs.isEmpty()); m_rs = &rs; } ProStringRoUser(const ProString &ps, QString &rs) |