diff --git a/src/lib/tvgArray.h b/src/lib/tvgArray.h index 8d67753a..65a40a0c 100644 --- a/src/lib/tvgArray.h +++ b/src/lib/tvgArray.h @@ -73,6 +73,11 @@ struct Array return data + count; } + T* last() + { + return data + count - 1; + } + void pop() { if (count > 0) --count; diff --git a/src/savers/tvg/tvgTvgSaver.cpp b/src/savers/tvg/tvgTvgSaver.cpp index 1f28937a..e52fcf44 100644 --- a/src/savers/tvg/tvgTvgSaver.cpp +++ b/src/savers/tvg/tvgTvgSaver.cpp @@ -674,7 +674,7 @@ TvgBinCounter TvgSaver::serializeChildren(Iterator* it, const Matrix* pTransform while (auto child = it->next()) { if (child->identifier() == TVG_CLASS_ID_SHAPE) { //only dosable if the previous child is a shape. - auto target = children.ptr() - 1; + auto target = children.last(); if ((*target)->identifier() == TVG_CLASS_ID_SHAPE) { if (_merge((Shape*)child, (Shape*)*target)) { continue;