diff options
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/fpdf_progressive.cpp | 15 | ||||
-rw-r--r-- | fpdfsdk/fpdfformfill.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/fpdfview.cpp | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/fpdfsdk/fpdf_progressive.cpp b/fpdfsdk/fpdf_progressive.cpp index 1b10a119dc..2411869904 100644 --- a/fpdfsdk/fpdf_progressive.cpp +++ b/fpdfsdk/fpdf_progressive.cpp @@ -61,7 +61,7 @@ DLLEXPORT int STDCALL FPDF_RenderPageBitmap_Start(FPDF_BITMAP bitmap, rotate, flags, false, &IPauseAdapter); #ifdef _SKIA_SUPPORT_PATHS_ - pDevice->Flush(); + pDevice->Flush(false); pBitmap->UnPreMultiply(); #endif if (pContext->m_pRenderer) { @@ -86,7 +86,7 @@ DLLEXPORT int STDCALL FPDF_RenderPage_Continue(FPDF_PAGE page, pContext->m_pRenderer->Continue(&IPauseAdapter); #ifdef _SKIA_SUPPORT_PATHS_ CFX_RenderDevice* pDevice = pContext->m_pDevice.get(); - pDevice->Flush(); + pDevice->Flush(false); pDevice->GetBitmap()->UnPreMultiply(); #endif return CPDF_ProgressiveRenderer::ToFPDFStatus( @@ -97,6 +97,15 @@ DLLEXPORT int STDCALL FPDF_RenderPage_Continue(FPDF_PAGE page, DLLEXPORT void STDCALL FPDF_RenderPage_Close(FPDF_PAGE page) { CPDF_Page* pPage = CPDFPageFromFPDFPage(page); - if (pPage) + if (pPage) { +#ifdef _SKIA_SUPPORT_PATHS_ + CPDF_PageRenderContext* pContext = pPage->GetRenderContext(); + if (pContext && pContext->m_pRenderer) { + CFX_RenderDevice* pDevice = pContext->m_pDevice.get(); + pDevice->Flush(true); + pDevice->GetBitmap()->UnPreMultiply(); + } +#endif pPage->SetRenderContext(nullptr); + } } diff --git a/fpdfsdk/fpdfformfill.cpp b/fpdfsdk/fpdfformfill.cpp index 627bd0a925..e541b81cc3 100644 --- a/fpdfsdk/fpdfformfill.cpp +++ b/fpdfsdk/fpdfformfill.cpp @@ -144,7 +144,7 @@ void FFLCommon(FPDF_FORMHANDLE hHandle, #endif // PDF_ENABLE_XFA } #ifdef _SKIA_SUPPORT_PATHS_ - pDevice->Flush(); + pDevice->Flush(true); holder->UnPreMultiply(); #endif } diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp index f8823c994c..956e6db671 100644 --- a/fpdfsdk/fpdfview.cpp +++ b/fpdfsdk/fpdfview.cpp @@ -940,7 +940,7 @@ DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, rotate, flags, true, nullptr); #ifdef _SKIA_SUPPORT_PATHS_ - pDevice->Flush(); + pDevice->Flush(true); pBitmap->UnPreMultiply(); #endif pPage->SetRenderContext(nullptr); |