summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/serialization/qbinaryjsonvalue.cpp2
-rw-r--r--src/corelib/serialization/qbinaryjsonvalue_p.h2
-rw-r--r--src/corelib/text/qstring.cpp12
-rw-r--r--src/corelib/text/qstring.h13
4 files changed, 15 insertions, 14 deletions
diff --git a/src/corelib/serialization/qbinaryjsonvalue.cpp b/src/corelib/serialization/qbinaryjsonvalue.cpp
index 92a8fd7ec5..b24bd0fc89 100644
--- a/src/corelib/serialization/qbinaryjsonvalue.cpp
+++ b/src/corelib/serialization/qbinaryjsonvalue.cpp
@@ -82,7 +82,7 @@ QBinaryJsonValue::QBinaryJsonValue(QBinaryJsonPrivate::MutableData *data,
QBinaryJsonValue::QBinaryJsonValue(QString string)
: d(nullptr), t(QJsonValue::String)
{
- stringData = *(QStringPrivate *)(&string);
+ stringData = string.data_ptr();
stringData.d->ref();
}
diff --git a/src/corelib/serialization/qbinaryjsonvalue_p.h b/src/corelib/serialization/qbinaryjsonvalue_p.h
index f2ca1a8094..4b39b05316 100644
--- a/src/corelib/serialization/qbinaryjsonvalue_p.h
+++ b/src/corelib/serialization/qbinaryjsonvalue_p.h
@@ -121,7 +121,7 @@ private:
quint64 ui;
bool b;
double dbl;
- QStringPrivate stringData;
+ QString::DataPointer stringData;
const QBinaryJsonPrivate::Base *base;
};
QBinaryJsonPrivate::MutableData *d = nullptr; // needed for Objects and Arrays
diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
index d394b8aebc..0f313e21ed 100644
--- a/src/corelib/text/qstring.cpp
+++ b/src/corelib/text/qstring.cpp
@@ -4895,7 +4895,7 @@ QString QString::mid(int position, int n) const
case QContainerImplHelper::Empty:
{
QPair<Data *, ushort *> pair = Data::allocate(0);
- QStringPrivate empty = { pair.first, pair.second, 0 };
+ DataPointer empty = { pair.first, pair.second, 0 };
return QString(empty);
}
case QContainerImplHelper::Full:
@@ -5345,9 +5345,9 @@ QVector<uint> QtPrivate::convertToUcs4(QStringView string)
return qt_convert_to_ucs4(string);
}
-QStringPrivate QString::fromLatin1_helper(const char *str, int size)
+QString::DataPointer QString::fromLatin1_helper(const char *str, int size)
{
- QStringPrivate d;
+ DataPointer d;
if (!str) {
d.d = Data::sharedNull();
d.b = Data::sharedNullData();
@@ -5373,7 +5373,7 @@ QStringPrivate QString::fromLatin1_helper(const char *str, int size)
return d;
}
-QStringPrivate QString::fromAscii_helper(const char *str, int size)
+QString::DataPointer QString::fromAscii_helper(const char *str, int size)
{
QString s = fromUtf8(str, size);
s.d.d->ref();
@@ -5423,7 +5423,7 @@ QString QString::fromLocal8Bit_helper(const char *str, int size)
return QString();
if (size == 0 || (!*str && size < 0)) {
QPair<Data *, ushort *> pair = Data::allocate(0);
- QStringPrivate empty = { pair.first, pair.second, 0 };
+ QString::DataPointer empty = { pair.first, pair.second, 0 };
return QString(empty);
}
#if QT_CONFIG(textcodec)
@@ -9098,7 +9098,7 @@ bool QString::isRightToLeft() const
*/
QString QString::fromRawData(const QChar *unicode, int size)
{
- QStringPrivate x;
+ QString::DataPointer x;
x.size = size;
if (!unicode) {
x.d = Data::sharedNull();
diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h
index 3048c7a8cc..27dc99b2e5 100644
--- a/src/corelib/text/qstring.h
+++ b/src/corelib/text/qstring.h
@@ -247,6 +247,8 @@ class Q_CORE_EXPORT QString
{
typedef QTypedArrayData<ushort> Data;
public:
+ typedef QStringPrivate DataPointer;
+
inline QString() noexcept;
explicit QString(const QChar *unicode, int size = -1);
QString(QChar c);
@@ -916,7 +918,7 @@ public:
bool isRightToLeft() const;
QString(int size, Qt::Initialization);
- explicit QString(QStringPrivate dd) : d(dd) {}
+ explicit QString(DataPointer dd) : d(dd) {}
private:
#if defined(QT_NO_CAST_FROM_ASCII)
@@ -928,7 +930,7 @@ private:
QString &operator=(const QByteArray &a);
#endif
- QStringPrivate d;
+ DataPointer d;
friend inline bool operator==(QChar, const QString &) noexcept;
friend inline bool operator< (QChar, const QString &) noexcept;
@@ -966,8 +968,8 @@ private:
static QString trimmed_helper(QString &str);
static QString simplified_helper(const QString &str);
static QString simplified_helper(QString &str);
- static QStringPrivate fromLatin1_helper(const char *str, int size = -1);
- static QStringPrivate fromAscii_helper(const char *str, int size = -1);
+ static DataPointer fromLatin1_helper(const char *str, int size = -1);
+ static DataPointer fromAscii_helper(const char *str, int size = -1);
static QString fromUtf8_helper(const char *str, int size);
static QString fromLocal8Bit_helper(const char *, int size);
static QByteArray toLatin1_helper(const QString &);
@@ -1002,8 +1004,7 @@ private:
}
public:
- typedef QStringPrivate DataPtr;
- inline DataPtr &data_ptr() { return d; }
+ inline DataPointer &data_ptr() { return d; }
};
//