diff --git a/Eigen/QtAlignedMalloc b/Eigen/QtAlignedMalloc index fde227328..dba7cb29e 100644 --- a/Eigen/QtAlignedMalloc +++ b/Eigen/QtAlignedMalloc @@ -3,6 +3,7 @@ #define EIGEN_QTMALLOC_MODULE_H #include "Core" +#include #if (!EIGEN_MALLOC_ALREADY_ALIGNED) @@ -24,6 +25,16 @@ inline void *qRealloc(void *ptr, size_t size) return newPtr; } +// needed to copy that too because it is implemented in the qt binary library, hence +// wouldn't otherwise honor our qMalloc. +QVectorData *QVectorData::malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init) +{ + QVectorData* p = (QVectorData *)qMalloc(sizeofTypedData + (size - 1) * sizeofT); + Q_CHECK_PTR(p); + ::memcpy(p, init, sizeofTypedData + (qMin(size, init->alloc) - 1) * sizeofT); + return p; +} + #endif #endif // EIGEN_QTMALLOC_MODULE_H