summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/emfppen.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppcanvas/source/mtfrenderer/emfppen.cxx')
-rwxr-xr-xcppcanvas/source/mtfrenderer/emfppen.cxx21
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)
{