diff options
author | Cary Clark <caryclark@skia.org> | 2017-07-25 10:39:10 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-07-25 14:53:28 +0000 |
commit | 364d18b13575a2b569e9fc175cb0dd60106fa954 (patch) | |
tree | 56f594a9b9309330a6c91408132f19fb296b66e5 /core/fxge/cfx_renderdevice.cpp | |
parent | c411eb943bb51e16ff4fb5a6ffb06e277ca6a982 (diff) | |
download | pdfium-364d18b13575a2b569e9fc175cb0dd60106fa954.tar.xz |
flush but do not release skia driver
Most calls to the Skia Driver combine flushing
the draw cache with deleting the driver itself.
Progressive drawing needs to flush the cache to
keep drawing in order, but the driver must remain
for the next progressive draw.
R=dsinclair@chromium.org, hnakashima@chromium.org
Bug: pdfium:833
Change-Id: I311f80b2dc0ef6e4df9a3a0f082ae076cb7a591f
Reviewed-on: https://pdfium-review.googlesource.com/8890
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxge/cfx_renderdevice.cpp')
-rw-r--r-- | core/fxge/cfx_renderdevice.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/fxge/cfx_renderdevice.cpp b/core/fxge/cfx_renderdevice.cpp index 407c090c73..279e720d1e 100644 --- a/core/fxge/cfx_renderdevice.cpp +++ b/core/fxge/cfx_renderdevice.cpp @@ -375,13 +375,16 @@ CFX_RenderDevice::CFX_RenderDevice() CFX_RenderDevice::~CFX_RenderDevice() { RestoreState(false); #if defined _SKIA_SUPPORT_ || defined _SKIA_SUPPORT_PATHS_ - Flush(); + Flush(true); #endif } #if defined _SKIA_SUPPORT_ || defined _SKIA_SUPPORT_PATHS_ -void CFX_RenderDevice::Flush() { - m_pDeviceDriver.reset(); +void CFX_RenderDevice::Flush(bool release) { + if (release) + m_pDeviceDriver.reset(); + else + m_pDeviceDriver->Flush(); } #endif |