| Index: core/fpdfapi/render/fpdf_render_cache.cpp
|
| diff --git a/core/fpdfapi/render/fpdf_render_cache.cpp b/core/fpdfapi/render/fpdf_render_cache.cpp
|
| index a91d2ba8d03416f95cf6572aef1902215271cb4f..9f663525ec738359397f431b209fef681853a95a 100644
|
| --- a/core/fpdfapi/render/fpdf_render_cache.cpp
|
| +++ b/core/fpdfapi/render/fpdf_render_cache.cpp
|
| @@ -292,29 +292,21 @@ int CPDF_ImageCacheEntry::StartGetCachedBitmap(CPDF_Dictionary* pFormResources,
|
| ContinueGetCachedBitmap();
|
| return 0;
|
| }
|
| +
|
| void CPDF_ImageCacheEntry::ContinueGetCachedBitmap() {
|
| m_MatteColor = ((CPDF_DIBSource*)m_pCurBitmap)->GetMatteColor();
|
| m_pCurMask = ((CPDF_DIBSource*)m_pCurBitmap)->DetachMask();
|
| CPDF_RenderContext* pContext = m_pRenderStatus->GetContext();
|
| CPDF_PageRenderCache* pPageRenderCache = pContext->GetPageCache();
|
| m_dwTimeCount = pPageRenderCache->GetTimeCount();
|
| - if (m_pCurBitmap->GetPitch() * m_pCurBitmap->GetHeight() <
|
| - FPDF_HUGE_IMAGE_SIZE) {
|
| - m_pCachedBitmap = m_pCurBitmap->Clone();
|
| - delete m_pCurBitmap;
|
| - m_pCurBitmap = nullptr;
|
| - } else {
|
| - m_pCachedBitmap = m_pCurBitmap;
|
| - }
|
| - if (m_pCurMask) {
|
| - m_pCachedMask = m_pCurMask->Clone();
|
| - delete m_pCurMask;
|
| - m_pCurMask = nullptr;
|
| - }
|
| - m_pCurBitmap = m_pCachedBitmap;
|
| - m_pCurMask = m_pCachedMask;
|
| + m_pCachedBitmap = m_pCurBitmap;
|
| + if (m_pCurMask)
|
| + m_pCachedMask = m_pCurMask;
|
| + else
|
| + m_pCurMask = m_pCachedMask;
|
| CalcSize();
|
| }
|
| +
|
| int CPDF_ImageCacheEntry::Continue(IFX_Pause* pPause) {
|
| int ret = ((CPDF_DIBSource*)m_pCurBitmap)->ContinueLoadDIBSource(pPause);
|
| if (ret == 2) {
|
|
|