summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qarraydata.h
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2012-03-27 12:27:54 +0200
committerQt by Nokia <qt-info@nokia.com>2012-03-29 23:26:34 +0200
commitd78fe5f8d361c203e43908ddc0bd64f667c83204 (patch)
tree976025a3023b6d0f8027dea37fb8da5f11b4203f /src/corelib/tools/qarraydata.h
parentca604b5b77a3f769c193774e07af2861b200d085 (diff)
Make QArrayData::shared_null zero terminated.
This is expected by QByteArray and QString Change-Id: Ib668b144bdc0d2c793018c8f8d794f249eaf935c Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Diffstat (limited to 'src/corelib/tools/qarraydata.h')
-rw-r--r--src/corelib/tools/qarraydata.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/tools/qarraydata.h b/src/corelib/tools/qarraydata.h
index b4cefe6729..ae4cbc3081 100644
--- a/src/corelib/tools/qarraydata.h
+++ b/src/corelib/tools/qarraydata.h
@@ -115,7 +115,8 @@ struct Q_CORE_EXPORT QArrayData
static void deallocate(QArrayData *data, size_t objectSize,
size_t alignment);
- static const QArrayData shared_null;
+ static const QArrayData shared_null[2];
+ static QArrayData *sharedNull() { return const_cast<QArrayData*>(shared_null); }
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QArrayData::AllocationOptions)
@@ -169,8 +170,7 @@ struct QTypedArrayData
static QTypedArrayData *sharedNull()
{
Q_STATIC_ASSERT(sizeof(QTypedArrayData) == sizeof(QArrayData));
- return static_cast<QTypedArrayData *>(
- const_cast<QArrayData *>(&QArrayData::shared_null));
+ return static_cast<QTypedArrayData *>(QArrayData::sharedNull());
}
};