summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-10-06 09:48:12 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-10-06 09:56:59 +0100
commite713ec442de1370829f6d0e01d73b5d6ed6cd0f8 (patch)
treeedba89bd63b2333e92771ac394c32ba432b7059b
parentae137866167f65557c64ff19dd3bcf602a55207d (diff)
use a vector here instead of manual mem management
Change-Id: Ic0944837bc49f4a0e86f67bcb5dccc8c1854a396
-rw-r--r--canvas/source/cairo/cairo_canvashelper.cxx11
1 files changed, 5 insertions, 6 deletions
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx
index 77a693d6be68..773dbfa472bb 100644
--- a/canvas/source/cairo/cairo_canvashelper.cxx
+++ b/canvas/source/cairo/cairo_canvashelper.cxx
@@ -1226,13 +1226,12 @@ namespace cairocanvas
break;
}
- if( strokeAttributes.DashArray.getLength() > 0 )
+ if (strokeAttributes.DashArray.getLength() > 0)
{
- double* pDashArray = new double[ strokeAttributes.DashArray.getLength() ];
- for( sal_Int32 i=0; i<strokeAttributes.DashArray.getLength(); i++ )
- pDashArray[i] = strokeAttributes.DashArray[i] * w;
- cairo_set_dash( mpCairo.get(), pDashArray, strokeAttributes.DashArray.getLength(), 0 );
- delete[] pDashArray;
+ auto aDashArray(comphelper::sequenceToContainer<std::vector<double>>(strokeAttributes.DashArray));
+ for (auto& rDash : aDashArray)
+ rDash *= w;
+ cairo_set_dash(mpCairo.get(), aDashArray.data(), aDashArray.size(), 0);
}
// TODO(rodo) use LineArray of strokeAttributes