summaryrefslogtreecommitdiff
path: root/core/fpdfapi/render/cpdf_docrenderdata.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-04-03 14:05:17 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-04-03 21:47:59 +0000
commit3a1d9b48cb5485cdb93f1cc9857e5d829868629c (patch)
tree9f49629c7bb9a73357821841da549ac9149d7b12 /core/fpdfapi/render/cpdf_docrenderdata.h
parentac35589d5d1a593497cf28d91ab6a236f25833c3 (diff)
downloadpdfium-3a1d9b48cb5485cdb93f1cc9857e5d829868629c.tar.xz
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 <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/render/cpdf_docrenderdata.h')
-rw-r--r--core/fpdfapi/render/cpdf_docrenderdata.h12
1 files changed, 6 insertions, 6 deletions
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 <map>
#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<CPDF_TransferFunc> GetTransferFunc(CPDF_Object* pObj);
+ void MaybePurgeTransferFunc(CPDF_Object* pOb);
+
void Clear(bool bRelease);
private:
using CPDF_Type3CacheMap =
std::map<CPDF_Font*, CPDF_CountedObject<CPDF_Type3Cache>*>;
- using CPDF_TransferFuncMap =
- std::map<CPDF_Object*, CPDF_CountedObject<CPDF_TransferFunc>*>;
CPDF_Document* m_pPDFDoc; // Not Owned
CPDF_Type3CacheMap m_Type3FaceMap;
- CPDF_TransferFuncMap m_TransferFuncMap;
+ std::map<CPDF_Object*, CFX_RetainPtr<CPDF_TransferFunc>> m_TransferFuncMap;
};
#endif // CORE_FPDFAPI_RENDER_CPDF_DOCRENDERDATA_H_