+ if ((numElements % numComponents) != 0) {
+ int temp = qFloor(dataSize / (float)stride);
+ int fullElemSize = temp * stride;
+ if (fullElemSize + numComponents * typeSize <= dataSize) {
+ /* num full elements plus the part of the buffer in which we fit */
+ numElements = temp + 1;
+ } else {
+ numElements = temp;
+ }
+ }