diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2020-01-16 16:25:06 +0100 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2020-01-16 16:25:06 +0100 |
commit | 1d333d3375874efb8d37df37dc5ef561573794ad (patch) | |
tree | 2d8c995f64c05c84c1fcceb2c5cb40fcae69855f /src/qmlmodels/qqmllistmodel_p_p.h | |
parent | b106d86c433706928b0b0c206a0d9f831681e1bf (diff) | |
parent | e79a2658cde899d6ee11ec3c0d0a3768eb2c864b (diff) |
Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: I0c5b939c70bdb91ccdf7068784308416dcaa5736
Diffstat (limited to 'src/qmlmodels/qqmllistmodel_p_p.h')
-rw-r--r-- | src/qmlmodels/qqmllistmodel_p_p.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/qmlmodels/qqmllistmodel_p_p.h b/src/qmlmodels/qqmllistmodel_p_p.h index 2ad5158050..f17004ed3b 100644 --- a/src/qmlmodels/qqmllistmodel_p_p.h +++ b/src/qmlmodels/qqmllistmodel_p_p.h @@ -252,18 +252,23 @@ private: struct StringOrTranslation { - explicit StringOrTranslation(const QString &s); - explicit StringOrTranslation(const QV4::CompiledData::Binding *binding); ~StringOrTranslation(); - bool isSet() const { return d.flag(); } - bool isTranslation() const { return d.isT2(); } + bool isSet() const { return binding || arrayData; } + bool isTranslation() const { return binding && !arrayData; } void setString(const QString &s); void setTranslation(const QV4::CompiledData::Binding *binding); QString toString(const QQmlListModel *owner) const; QString asString() const; private: void clear(); - QBiPointer<QStringData, const QV4::CompiledData::Binding> d; + + union { + ushort *stringData = nullptr; + const QV4::CompiledData::Binding *binding; + }; + + QTypedArrayData<ushort> *arrayData = nullptr; + uint stringSize = 0; }; /*! |