diff options
Diffstat (limited to 'cppcanvas/source/mtfrenderer/emfppen.cxx')
-rwxr-xr-x | cppcanvas/source/mtfrenderer/emfppen.cxx | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/cppcanvas/source/mtfrenderer/emfppen.cxx b/cppcanvas/source/mtfrenderer/emfppen.cxx index b3b0c97dcb8a..36cf63acdf72 100755 --- a/cppcanvas/source/mtfrenderer/emfppen.cxx +++ b/cppcanvas/source/mtfrenderer/emfppen.cxx @@ -81,11 +81,7 @@ namespace cppcanvas , dashStyle(0) , dashCap(0) , dashOffset(0.0) - , dashPatternLen(0) - , dashPattern(nullptr) , alignment(0) - , compoundArrayLen(0) - , compoundArray(nullptr) , customStartCapLen(0) , customStartCap(nullptr) , customEndCapLen(0) @@ -95,8 +91,6 @@ namespace cppcanvas EMFPPen::~EMFPPen() { - delete[] dashPattern; - delete[] compoundArray; delete customStartCap; delete customEndCap; } @@ -162,7 +156,7 @@ namespace cppcanvas case EmfPlusLineStyleDot: nLen = SAL_N_ELEMENTS(dot); pPattern = dot; break; case EmfPlusLineStyleDashDot: nLen = SAL_N_ELEMENTS(dashdot); pPattern = dashdot; break; case EmfPlusLineStyleDashDotDot: nLen = SAL_N_ELEMENTS(dashdotdot); pPattern = dashdotdot; break; - case EmfPlusLineStyleCustom: nLen = dashPatternLen; pPattern = dashPattern; break; + case EmfPlusLineStyleCustom: nLen = dashPattern.size(); pPattern = dashPattern.data(); break; } if (nLen > 0) { @@ -236,37 +230,36 @@ namespace cppcanvas if (penDataFlags & PenDataDashedLine) { dashStyle = EmfPlusLineStyleCustom; + sal_Int32 dashPatternLen; s.ReadInt32(dashPatternLen); SAL_INFO("cppcanvas.emf", "EMF+\t\tdashPatternLen: " << dashPatternLen); if (dashPatternLen<0 || sal_uInt32(dashPatternLen)>SAL_MAX_INT32 / sizeof(float)) dashPatternLen = SAL_MAX_INT32 / sizeof(float); - dashPattern = new float[dashPatternLen]; + dashPattern.resize( dashPatternLen ); for (i = 0; i < dashPatternLen; i++) { s.ReadFloat(dashPattern[i]); SAL_INFO("cppcanvas.emf", "EMF+\t\t\tdashPattern[" << i << "]: " << dashPattern[i]); } } - else - dashPatternLen = 0; if (penDataFlags & PenDataNonCenter) s.ReadInt32(alignment); else alignment = 0; - if (penDataFlags & PenDataCompoundLine) { + if (penDataFlags & PenDataCompoundLine) + { + sal_Int32 compoundArrayLen; s.ReadInt32(compoundArrayLen); if (compoundArrayLen<0 || sal_uInt32(compoundArrayLen)>SAL_MAX_INT32 / sizeof(float)) compoundArrayLen = SAL_MAX_INT32 / sizeof(float); - compoundArray = new float[compoundArrayLen]; + compoundArray.resize(compoundArrayLen); for (i = 0; i < compoundArrayLen; i++) s.ReadFloat(compoundArray[i]); } - else - compoundArrayLen = 0; if (penDataFlags & PenDataCustomStartCap) { |