From 3a1d9b48cb5485cdb93f1cc9857e5d829868629c Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 3 Apr 2017 14:05:17 -0700 Subject: RefCount CPDF_TransferFunc all the time. Prefer internal reference counts over ad-hoc schemes. Change-Id: I8d420e9e9827ac39fdc0bc8146a532caeee10f26 Reviewed-on: https://pdfium-review.googlesource.com/3615 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- core/fpdfapi/render/cpdf_docrenderdata.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'core/fpdfapi/render/cpdf_docrenderdata.h') diff --git a/core/fpdfapi/render/cpdf_docrenderdata.h b/core/fpdfapi/render/cpdf_docrenderdata.h index a8f4167a8d..5daee34176 100644 --- a/core/fpdfapi/render/cpdf_docrenderdata.h +++ b/core/fpdfapi/render/cpdf_docrenderdata.h @@ -10,11 +10,11 @@ #include #include "core/fpdfapi/page/cpdf_countedobject.h" +#include "core/fpdfapi/render/cpdf_transferfunc.h" class CPDF_Document; class CPDF_Font; class CPDF_Object; -class CPDF_TransferFunc; class CPDF_Type3Cache; class CPDF_Type3Font; @@ -25,19 +25,19 @@ class CPDF_DocRenderData { CPDF_Type3Cache* GetCachedType3(CPDF_Type3Font* pFont); void ReleaseCachedType3(CPDF_Type3Font* pFont); - CPDF_TransferFunc* GetTransferFunc(CPDF_Object* pObj); - void ReleaseTransferFunc(CPDF_Object* pObj); + + CFX_RetainPtr GetTransferFunc(CPDF_Object* pObj); + void MaybePurgeTransferFunc(CPDF_Object* pOb); + void Clear(bool bRelease); private: using CPDF_Type3CacheMap = std::map*>; - using CPDF_TransferFuncMap = - std::map*>; CPDF_Document* m_pPDFDoc; // Not Owned CPDF_Type3CacheMap m_Type3FaceMap; - CPDF_TransferFuncMap m_TransferFuncMap; + std::map> m_TransferFuncMap; }; #endif // CORE_FPDFAPI_RENDER_CPDF_DOCRENDERDATA_H_ -- cgit v1.2.3