summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page')
-rw-r--r--core/fpdfapi/page/cpdf_image.cpp14
-rw-r--r--core/fpdfapi/page/cpdf_image.h5
2 files changed, 12 insertions, 7 deletions
diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp
index 5f82886a9b..24f58dfeff 100644
--- a/core/fpdfapi/page/cpdf_image.cpp
+++ b/core/fpdfapi/page/cpdf_image.cpp
@@ -351,7 +351,7 @@ bool CPDF_Image::StartLoadDIBSource(CPDF_Dictionary* pFormResource,
int ret = source->StartLoadDIBSource(m_pDocument.Get(), m_pStream.Get(), true,
pFormResource, pPageResource, bStdCS,
GroupFamily, bLoadMask);
- if (!ret) {
+ if (ret == 0) {
m_pDIBSource.Reset();
return false;
}
@@ -367,14 +367,14 @@ bool CPDF_Image::StartLoadDIBSource(CPDF_Dictionary* pFormResource,
bool CPDF_Image::Continue(IFX_PauseIndicator* pPause) {
RetainPtr<CPDF_DIBSource> pSource = m_pDIBSource.As<CPDF_DIBSource>();
int ret = pSource->ContinueLoadDIBSource(pPause);
- if (!ret) {
- m_pDIBSource.Reset();
- return false;
- }
if (ret == 2)
return true;
- m_pMask = pSource->DetachMask();
- m_MatteColor = pSource->GetMatteColor();
+ if (ret == 1) {
+ m_pMask = pSource->DetachMask();
+ m_MatteColor = pSource->GetMatteColor();
+ } else {
+ m_pDIBSource.Reset();
+ }
return false;
}
diff --git a/core/fpdfapi/page/cpdf_image.h b/core/fpdfapi/page/cpdf_image.h
index 57cbe94ca2..43011f8822 100644
--- a/core/fpdfapi/page/cpdf_image.h
+++ b/core/fpdfapi/page/cpdf_image.h
@@ -48,12 +48,17 @@ class CPDF_Image : public Retainable {
void SetJpegImageInline(const RetainPtr<IFX_SeekableReadStream>& pFile);
void ResetCache(CPDF_Page* pPage, const RetainPtr<CFX_DIBitmap>& pDIBitmap);
+
+ // Returns whether to Continue() or not.
bool StartLoadDIBSource(CPDF_Dictionary* pFormResource,
CPDF_Dictionary* pPageResource,
bool bStdCS = false,
uint32_t GroupFamily = 0,
bool bLoadMask = false);
+
+ // Returns whether to Continue() or not.
bool Continue(IFX_PauseIndicator* pPause);
+
RetainPtr<CFX_DIBSource> DetachBitmap();
RetainPtr<CFX_DIBSource> DetachMask();