summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2014-11-21 15:32:20 +0200
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2014-11-21 15:34:55 +0200
commit62f90e25eec23cfac83985993f355feeac5b9f2c (patch)
tree0d117cb958839be9fb124a305e33614273a4f7cf
parentcf5e1e4413c7d31fbd4586bde33469d3f6fe686a (diff)
parent9644652e37d13430e318332652288b05866a432f (diff)
Merge branch 'develop'v1.2.0
-rw-r--r--src/datavisualization/utils/surfaceobject.cpp18
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)