From f0799fe84df4d86f25d342b03525f3016d674f86 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 28 Mar 2017 09:31:32 -0700 Subject: Revert "Revert "Refcount all CFX_DIBSources (and subclasses) all the time."" This reverts commit 31b08d4cdaa17d7a03f35e087096a77036af98ec. Re-landing the patch after fixing skia build issue. Change-Id: Ie7039890088b803a6ec5ce365d70f57277459b48 Reviewed-on: https://pdfium-review.googlesource.com/3245 Commit-Queue: Tom Sepez Commit-Queue: dsinclair Reviewed-by: dsinclair --- fpdfsdk/fpdfformfill.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'fpdfsdk/fpdfformfill.cpp') diff --git a/fpdfsdk/fpdfformfill.cpp b/fpdfsdk/fpdfformfill.cpp index c2bbeff7e3..6e31e1f045 100644 --- a/fpdfsdk/fpdfformfill.cpp +++ b/fpdfsdk/fpdfformfill.cpp @@ -109,11 +109,12 @@ void FFLCommon(FPDF_FORMHANDLE hHandle, pPage->GetDisplayMatrix(start_x, start_y, size_x, size_y, rotate); FX_RECT clip(start_x, start_y, start_x + size_x, start_y + size_y); - std::unique_ptr pDevice(new CFX_FxgeDevice); + auto pDevice = pdfium::MakeUnique(); #ifdef _SKIA_SUPPORT_ pDevice->AttachRecorder(static_cast(recorder)); #endif - pDevice->Attach(CFXBitmapFromFPDFBitmap(bitmap), false, nullptr, false); + CFX_RetainPtr holder(CFXBitmapFromFPDFBitmap(bitmap)); + pDevice->Attach(holder, false, nullptr, false); pDevice->SaveState(); pDevice->SetClip_Rect(clip); @@ -147,7 +148,7 @@ void FFLCommon(FPDF_FORMHANDLE hHandle, pDevice->RestoreState(false); #ifdef _SKIA_SUPPORT_PATHS_ pDevice->Flush(); - CFXBitmapFromFPDFBitmap(bitmap)->UnPreMultiply(); + holder->UnPreMultiply(); #endif } -- cgit v1.2.3