diff --git a/src/lib/tvgPaint.h b/src/lib/tvgPaint.h index 7be3e68b..697e2435 100644 --- a/src/lib/tvgPaint.h +++ b/src/lib/tvgPaint.h @@ -198,9 +198,10 @@ namespace tvg Paint* duplicate() { auto ret = smethod->duplicate(); + if (!ret) return nullptr; //duplicate Transform - if (ret && rTransform) { + if (rTransform) { ret->pImpl->rTransform = new RenderTransform(); if (ret->pImpl->rTransform) { *ret->pImpl->rTransform = *rTransform; @@ -210,6 +211,10 @@ namespace tvg ret->pImpl->opacity = opacity; + if (cmpTarget) ret->pImpl->cmpTarget = cmpTarget->duplicate(); + + ret->pImpl->cmpMethod = cmpMethod; + return ret; }