From c7219dd55283ab2b7a0ba7b61826041da4dfb03f Mon Sep 17 00:00:00 2001 From: Nick Holland Date: Fri, 31 Oct 2014 10:56:00 +0000 Subject: [PATCH] Fixed 9 patch display bug Using a pointer to a stack allocated array that has gone out of scope. Change-Id: I421bf55c3059c42c435ca30718d9ea619a909d85 --- .../render/renderers/scene-graph-image-renderer.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/dali/internal/render/renderers/scene-graph-image-renderer.cpp b/dali/internal/render/renderers/scene-graph-image-renderer.cpp index 5d5271c..292cf66 100644 --- a/dali/internal/render/renderers/scene-graph-image-renderer.cpp +++ b/dali/internal/render/renderers/scene-graph-image-renderer.cpp @@ -524,8 +524,6 @@ void ImageRenderer::SetNinePatchMeshData( Texture* texture, const Vector2& size, const float y2 = y0 + size.y - borderBottom; const float y3 = y0 + size.y; - Vertex2D* verts = NULL; - size_t vertsSize = 0; if ( !noCenter ) { @@ -604,8 +602,10 @@ void ImageRenderer::SetNinePatchMeshData( Texture* texture, const Vector2& size, { x3, y3, u3, v3 }, }; - verts = vertsWithCenter; - vertsSize = sizeof( vertsWithCenter ); + const size_t vertsSize = sizeof( vertsWithCenter ); + const unsigned int vertexCount = vertsSize / sizeof( vertsWithCenter[0] ); + texture->MapUV( vertexCount, vertsWithCenter, pixelArea ); + UpdateVertexBuffer( vertsSize, vertsWithCenter ); } else { @@ -683,14 +683,14 @@ void ImageRenderer::SetNinePatchMeshData( Texture* texture, const Vector2& size, { x0, y1, u0, v2 }, }; - verts = vertsWithNoCenter; - vertsSize = sizeof( vertsWithNoCenter ); + const size_t vertsSize = sizeof( vertsWithNoCenter ); + const unsigned int vertexCount = vertsSize / sizeof( vertsWithNoCenter[0] ); + texture->MapUV( vertexCount, vertsWithNoCenter, pixelArea ); + UpdateVertexBuffer( vertsSize, vertsWithNoCenter ); } - - const unsigned int vertexCount = vertsSize / sizeof( verts[0] ); - texture->MapUV( vertexCount, verts, pixelArea ); - UpdateVertexBuffer( vertsSize, verts ); + // not using an index buffer UpdateIndexBuffer( 0, NULL ); + } void ImageRenderer::SetGridMeshData( Texture* texture, const Vector2& size, const Vector4* border, bool borderInPixels, const PixelArea* pixelArea ) -- 2.7.4