diff --git a/src/renderer/gl_engine/tvgGlRenderer.cpp b/src/renderer/gl_engine/tvgGlRenderer.cpp index cd0d400e..7e6887a0 100644 --- a/src/renderer/gl_engine/tvgGlRenderer.cpp +++ b/src/renderer/gl_engine/tvgGlRenderer.cpp @@ -1207,7 +1207,10 @@ RenderData GlRenderer::prepare(RenderSurface* image, RenderData data, const Matr sdata->geometry->tesselate(image, flags); - if (!clips.empty()) sdata->clips.push(clips); + if (!clips.empty()) { + sdata->clips.clear(); + sdata->clips.push(clips); + } return sdata; } @@ -1263,7 +1266,10 @@ RenderData GlRenderer::prepare(const RenderShape& rshape, RenderData data, const if (!sdata->geometry->tesselate(rshape, sdata->updateFlag)) return sdata; } - if (!clipper && !clips.empty()) sdata->clips.push(clips); + if (!clipper && !clips.empty()) { + sdata->clips.clear(); + sdata->clips.push(clips); + } return sdata; }