From 1629f609d3722f25491bbbb53b2cce97a03a5867 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 21 Apr 2017 14:11:26 -0700 Subject: Add CFX_RenderDevice::AutoRestorer() Avoid cleanup on every return path. Change-Id: I6978adb6f31020d812ac88c5d46c703d1461d373 Reviewed-on: https://pdfium-review.googlesource.com/4435 Reviewed-by: Lei Zhang Reviewed-by: Tom Sepez Commit-Queue: Tom Sepez --- xfa/fxgraphics/cfx_graphics.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'xfa/fxgraphics/cfx_graphics.cpp') diff --git a/xfa/fxgraphics/cfx_graphics.cpp b/xfa/fxgraphics/cfx_graphics.cpp index a3821dd067..b7595eea8d 100644 --- a/xfa/fxgraphics/cfx_graphics.cpp +++ b/xfa/fxgraphics/cfx_graphics.cpp @@ -375,11 +375,9 @@ void CFX_Graphics::FillPathWithPattern(CFX_Path* path, m_info.fillColor->m_info.pattern->m_foreArgb); } } - - m_renderDevice->SaveState(); + CFX_RenderDevice::StateRestorer restorer(m_renderDevice); m_renderDevice->SetClip_PathFill(path->GetPathData(), matrix, fillMode); SetDIBitsWithMatrix(bmp, &pattern->m_matrix); - m_renderDevice->RestoreState(false); } void CFX_Graphics::FillPathWithShading(CFX_Path* path, @@ -494,10 +492,9 @@ void CFX_Graphics::FillPathWithShading(CFX_Path* path, } } if (result) { - m_renderDevice->SaveState(); + CFX_RenderDevice::StateRestorer restorer(m_renderDevice); m_renderDevice->SetClip_PathFill(path->GetPathData(), matrix, fillMode); SetDIBitsWithMatrix(bmp, matrix); - m_renderDevice->RestoreState(false); } } -- cgit v1.2.3