diff options
| author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-02 12:45:40 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-02 17:36:45 +0200 |
| commit | bdcd86c03e1b5c66dec21746d4d3596eb556b77b (patch) | |
| tree | 5d9d24c69a704e5c67ac620ce1c04d2373df0728 /src/corelib/tools/qarraydata.cpp | |
| parent | da888ba53904af75c462af9f753191f25840e51f (diff) | |
| parent | ccc6efb6e91756451ffd50d51f7f3ae05bc6df0b (diff) | |
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable
Diffstat (limited to 'src/corelib/tools/qarraydata.cpp')
| -rw-r--r-- | src/corelib/tools/qarraydata.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/corelib/tools/qarraydata.cpp b/src/corelib/tools/qarraydata.cpp index 825b3289c7b..12736d5c2e6 100644 --- a/src/corelib/tools/qarraydata.cpp +++ b/src/corelib/tools/qarraydata.cpp @@ -75,10 +75,13 @@ QArrayData *QArrayData::allocate(size_t objectSize, size_t alignment, && !(alignment & (alignment - 1))); // Don't allocate empty headers - if (!(options & RawData) && !capacity) - return !(options & Unsharable) - ? const_cast<QArrayData *>(&qt_array_empty) - : const_cast<QArrayData *>(&qt_array_unsharable_empty); + if (!(options & RawData) && !capacity) { +#if QT_SUPPORTS(UNSHARABLE_CONTAINERS) + if (options & Unsharable) + return const_cast<QArrayData *>(&qt_array_unsharable_empty); +#endif + return const_cast<QArrayData *>(&qt_array_empty); + } size_t headerSize = sizeof(QArrayData); @@ -118,8 +121,10 @@ void QArrayData::deallocate(QArrayData *data, size_t objectSize, && !(alignment & (alignment - 1))); Q_UNUSED(objectSize) Q_UNUSED(alignment) +#if QT_SUPPORTS(UNSHARABLE_CONTAINERS) if (data == &qt_array_unsharable_empty) return; +#endif Q_ASSERT_X(!data->ref.isStatic(), "QArrayData::deallocate", "Static data can not be deleted"); ::free(data); |
