diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-11-21 15:32:20 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-11-21 15:34:55 +0200 |
commit | 62f90e25eec23cfac83985993f355feeac5b9f2c (patch) | |
tree | 0d117cb958839be9fb124a305e33614273a4f7cf | |
parent | cf5e1e4413c7d31fbd4586bde33469d3f6fe686a (diff) | |
parent | 9644652e37d13430e318332652288b05866a432f (diff) |
Merge branch 'develop'v1.2.0
Change-Id: Iea324a1101b33b60686038116c422e99f79dff3e
-rw-r--r-- | src/datavisualization/utils/surfaceobject.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index b3aa7126..c3c4c161 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -299,6 +299,9 @@ QVector3D SurfaceObject::createSmoothNormalUpperLineItem(int x, int y) void SurfaceObject::smoothUVs(const QSurfaceDataArray &dataArray, const QSurfaceDataArray &modelArray) { + if (dataArray.size() == 0 || modelArray.size() == 0) + return; + int columns = dataArray.at(0)->size(); int rows = dataArray.size(); float xRangeNormalizer = dataArray.at(0)->at(columns - 1).x() - dataArray.at(0)->at(0).x(); @@ -601,6 +604,9 @@ void SurfaceObject::setUpData(const QSurfaceDataArray &dataArray, const QRect &s void SurfaceObject::coarseUVs(const QSurfaceDataArray &dataArray, const QSurfaceDataArray &modelArray) { + if (dataArray.size() == 0 || modelArray.size() == 0) + return; + int columns = dataArray.at(0)->size(); int rows = dataArray.size(); float xRangeNormalizer = dataArray.at(0)->at(columns - 1).x() - dataArray.at(0)->at(0).x(); @@ -632,12 +638,14 @@ void SurfaceObject::coarseUVs(const QSurfaceDataArray &dataArray, } } - glBindBuffer(GL_ARRAY_BUFFER, m_uvTextureBuffer); - glBufferData(GL_ARRAY_BUFFER, uvs.size() * sizeof(QVector2D), - &uvs.at(0), GL_STATIC_DRAW); - glBindBuffer(GL_ARRAY_BUFFER, 0); + if (uvs.size() > 0) { + glBindBuffer(GL_ARRAY_BUFFER, m_uvTextureBuffer); + glBufferData(GL_ARRAY_BUFFER, uvs.size() * sizeof(QVector2D), + &uvs.at(0), GL_STATIC_DRAW); + glBindBuffer(GL_ARRAY_BUFFER, 0); - m_returnTextureBuffer = true; + m_returnTextureBuffer = true; + } } void SurfaceObject::updateCoarseRow(const QSurfaceDataArray &dataArray, int rowIndex, bool polar) |