Index: core/fpdfapi/fpdf_render/fpdf_render.cpp |
diff --git a/core/fpdfapi/fpdf_render/fpdf_render.cpp b/core/fpdfapi/fpdf_render/fpdf_render.cpp |
index 8043f932bbe713ac870c1f166f689f0161e2bf0e..0fdcb92ae1c77b064181ecf3b35e6f4334dc175e 100644 |
--- a/core/fpdfapi/fpdf_render/fpdf_render.cpp |
+++ b/core/fpdfapi/fpdf_render/fpdf_render.cpp |
@@ -45,7 +45,7 @@ CPDF_DocRenderData::~CPDF_DocRenderData() { |
void CPDF_DocRenderData::Clear(FX_BOOL bRelease) { |
for (auto it = m_Type3FaceMap.begin(); it != m_Type3FaceMap.end();) { |
auto curr_it = it++; |
- CPDF_CountedObject<CPDF_Type3Cache>* cache = curr_it->second; |
+ CFX_WeakPtr<CPDF_Type3Cache>::Handle* cache = curr_it->second; |
if (bRelease || cache->use_count() < 2) { |
delete cache->get(); |
delete cache; |
@@ -55,7 +55,7 @@ void CPDF_DocRenderData::Clear(FX_BOOL bRelease) { |
for (auto it = m_TransferFuncMap.begin(); it != m_TransferFuncMap.end();) { |
auto curr_it = it++; |
- CPDF_CountedObject<CPDF_TransferFunc>* value = curr_it->second; |
+ CFX_WeakPtr<CPDF_TransferFunc>::Handle* value = curr_it->second; |
if (bRelease || value->use_count() < 2) { |
delete value->get(); |
delete value; |
@@ -65,11 +65,11 @@ void CPDF_DocRenderData::Clear(FX_BOOL bRelease) { |
} |
CPDF_Type3Cache* CPDF_DocRenderData::GetCachedType3(CPDF_Type3Font* pFont) { |
- CPDF_CountedObject<CPDF_Type3Cache>* pCache; |
+ CFX_WeakPtr<CPDF_Type3Cache>::Handle* pCache; |
auto it = m_Type3FaceMap.find(pFont); |
if (it == m_Type3FaceMap.end()) { |
CPDF_Type3Cache* pType3 = new CPDF_Type3Cache(pFont); |
- pCache = new CPDF_CountedObject<CPDF_Type3Cache>(pType3); |
+ pCache = new CFX_WeakPtr<CPDF_Type3Cache>::Handle(pType3); |
m_Type3FaceMap[pFont] = pCache; |
} else { |
pCache = it->second; |
@@ -1086,7 +1086,7 @@ CPDF_TransferFunc* CPDF_DocRenderData::GetTransferFunc(CPDF_Object* pObj) { |
auto it = m_TransferFuncMap.find(pObj); |
if (it != m_TransferFuncMap.end()) { |
- CPDF_CountedObject<CPDF_TransferFunc>* pTransferCounter = it->second; |
+ CFX_WeakPtr<CPDF_TransferFunc>::Handle* pTransferCounter = it->second; |
return pTransferCounter->AddRef(); |
} |
@@ -1109,8 +1109,8 @@ CPDF_TransferFunc* CPDF_DocRenderData::GetTransferFunc(CPDF_Object* pObj) { |
return nullptr; |
} |
CPDF_TransferFunc* pTransfer = new CPDF_TransferFunc(m_pPDFDoc); |
- CPDF_CountedObject<CPDF_TransferFunc>* pTransferCounter = |
- new CPDF_CountedObject<CPDF_TransferFunc>(pTransfer); |
+ CFX_WeakPtr<CPDF_TransferFunc>::Handle* pTransferCounter = |
+ new CFX_WeakPtr<CPDF_TransferFunc>::Handle(pTransfer); |
m_TransferFuncMap[pObj] = pTransferCounter; |
static const int kMaxOutputs = 16; |
FX_FLOAT output[kMaxOutputs]; |