summaryrefslogtreecommitdiff
path: root/canvas/source/cairo/cairo_textlayout.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-03-19 14:45:20 +0000
committerMichael Meeks <michael.meeks@collabora.com>2015-04-10 12:15:05 +0100
commiteac22a0630bcf3780142f64a022fa432e13bb7e1 (patch)
tree303b3dd00dea373d12198ed3c07b02679e7b8718 /canvas/source/cairo/cairo_textlayout.cxx
parent057347dad41f7df3222cc483fdff83fa631606bb (diff)
Fix OutputDevice members / stack allocation: chart, canvas, cui.
Change-Id: Ieb6f58222ffc3e03c1d599752a6f02600e1bee1f
Diffstat (limited to 'canvas/source/cairo/cairo_textlayout.cxx')
-rw-r--r--canvas/source/cairo/cairo_textlayout.cxx10
1 files changed, 5 insertions, 5 deletions
diff --git a/canvas/source/cairo/cairo_textlayout.cxx b/canvas/source/cairo/cairo_textlayout.cxx
index f5a197846e72..dd428a17af09 100644
--- a/canvas/source/cairo/cairo_textlayout.cxx
+++ b/canvas/source/cairo/cairo_textlayout.cxx
@@ -179,14 +179,14 @@ namespace cairocanvas
if( !pOutDev )
return geometry::RealRectangle2D();
- VirtualDevice aVDev( *pOutDev );
- aVDev.SetFont( mpFont->getVCLFont() );
+ ScopedVclPtr<VirtualDevice> pVDev( new VirtualDevice( *pOutDev ) );
+ pVDev->SetFont( mpFont->getVCLFont() );
// need metrics for Y offset, the XCanvas always renders
// relative to baseline
- const ::FontMetric& aMetric( aVDev.GetFontMetric() );
+ const ::FontMetric& aMetric( pVDev->GetFontMetric() );
- setupLayoutMode( aVDev, mnTextDirection );
+ setupLayoutMode( *pVDev.get(), mnTextDirection );
const sal_Int32 nAboveBaseline( -aMetric.GetIntLeading() - aMetric.GetAscent() );
const sal_Int32 nBelowBaseline( aMetric.GetDescent() );
@@ -200,7 +200,7 @@ namespace cairocanvas
else
{
return geometry::RealRectangle2D( 0, nAboveBaseline,
- aVDev.GetTextWidth(
+ pVDev->GetTextWidth(
maText.Text,
::canvas::tools::numeric_cast<sal_uInt16>(maText.StartPosition),
::canvas::tools::numeric_cast<sal_uInt16>(maText.Length) ),