forked from qt-creator/qt-creator
Timeline: Check for validity of vertexData() after allocating geometry
QSGGeometry itself doesn't check the result of allocations. Change-Id: I4533d9abbb6dd26b8bd97e2c1b3dff089d827023 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -296,6 +296,7 @@ void TimelineItemsGeometry::allocate(QSGMaterial *material)
|
||||
{
|
||||
QSGGeometry *geometry = new QSGGeometry(OpaqueColoredPoint2DWithSize::attributes(),
|
||||
usedVertices);
|
||||
Q_ASSERT(geometry->vertexData());
|
||||
geometry->setIndexDataPattern(QSGGeometry::StaticPattern);
|
||||
geometry->setVertexDataPattern(QSGGeometry::StaticPattern);
|
||||
node = new QSGGeometryNode;
|
||||
|
@@ -196,6 +196,7 @@ QSGGeometry *NotesGeometry::createGeometry(QVector<int> &ids, const TimelineMode
|
||||
float rowHeight = TimelineModel::defaultRowHeight();
|
||||
QSGGeometry *geometry = new QSGGeometry(point2DWithDistanceFromTop(),
|
||||
ids.count() * 2);
|
||||
Q_ASSERT(geometry->vertexData());
|
||||
geometry->setDrawingMode(GL_LINES);
|
||||
geometry->setLineWidth(3);
|
||||
Point2DWithDistanceFromTop *v =
|
||||
|
@@ -36,6 +36,7 @@ QSGGeometryNode *createSelectionNode(QSGMaterial *material)
|
||||
selectionNode->setMaterial(material);
|
||||
selectionNode->setFlag(QSGNode::OwnsMaterial, false);
|
||||
QSGGeometry *geometry = new QSGGeometry(OpaqueColoredPoint2DWithSize::attributes(), 4);
|
||||
Q_ASSERT(geometry->vertexData());
|
||||
geometry->setDrawingMode(GL_TRIANGLE_STRIP);
|
||||
OpaqueColoredPoint2DWithSize *v = OpaqueColoredPoint2DWithSize::fromVertexData(geometry);
|
||||
for (int i = 0; i < 4; ++i)
|
||||
|
@@ -232,6 +232,7 @@ void BindlingLoopsGeometry::allocate(QSGMaterial *material)
|
||||
{
|
||||
QSGGeometry *geometry = new QSGGeometry(BindlingLoopsGeometry::point2DWithOffset(),
|
||||
usedVertices);
|
||||
Q_ASSERT(geometry->vertexData());
|
||||
geometry->setIndexDataPattern(QSGGeometry::StaticPattern);
|
||||
geometry->setVertexDataPattern(QSGGeometry::StaticPattern);
|
||||
node = new QSGGeometryNode;
|
||||
|
Reference in New Issue
Block a user