From bd87f1398ca6c6e6fc09a6ca69303a81ae15eca5 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 23 Jun 2023 16:39:13 +0900 Subject: [PATCH] common array: ++enhance the usability. add last() which indicates the last element pointer. --- src/lib/tvgArray.h | 5 +++++ src/savers/tvg/tvgTvgSaver.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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;