summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Salmela <mika.salmela@theqtcompany.com>2014-11-21 14:33:28 +0200
committerMika Salmela <mika.salmela@theqtcompany.com>2014-11-21 14:36:44 +0200
commit6939d7e10ab289abb5cbe8051ee1660fadcb34e7 (patch)
treebcf5ca4fd4a4db9ca150042017d8f2710596ba74
parentcf47756e17fe0a0ecffbe167cd66272668e2f3f2 (diff)
Fix crash when adding a texture on QML
When texture was attached on the qmlsurface example, the smoothUVs was called before the actual model mesh was created. Change-Id: I5a62b06291232df54ce08d586d8794b332a4eece Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
-rw-r--r--src/datavisualization/utils/surfaceobject.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp
index 6f9ace19..b3aa7126 100644
--- a/src/datavisualization/utils/surfaceobject.cpp
+++ b/src/datavisualization/utils/surfaceobject.cpp
@@ -325,12 +325,14 @@ void SurfaceObject::smoothUVs(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::updateSmoothRow(const QSurfaceDataArray &dataArray, int rowIndex, bool polar)