Index: core/fxge/skia/fx_skia_device.cpp |
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp |
index 84db838807ee53fe77f3b4cf03e1c3152950b536..6b381dffa77cb01b37049036ac4c0fc23f41303a 100644 |
--- a/core/fxge/skia/fx_skia_device.cpp |
+++ b/core/fxge/skia/fx_skia_device.cpp |
@@ -1752,7 +1752,7 @@ bool CFX_SkiaDeviceDriver::GetDIBits(CFX_DIBitmap* pBitmap, int left, int top) { |
m_pBitmap->UnPreMultiply(); |
FX_RECT rect(left, top, left + pBitmap->GetWidth(), |
top + pBitmap->GetHeight()); |
- CFX_DIBitmap* pBack = nullptr; |
+ std::unique_ptr<CFX_DIBitmap> pBack = nullptr; |
if (m_pOriDevice) { |
pBack = m_pOriDevice->Clone(&rect); |
if (!pBack) |
@@ -1771,12 +1771,11 @@ bool CFX_SkiaDeviceDriver::GetDIBits(CFX_DIBitmap* pBitmap, int left, int top) { |
top = std::min(top, 0); |
if (m_bRgbByteOrder) { |
RgbByteOrderTransferBitmap(pBitmap, 0, 0, rect.Width(), rect.Height(), |
- pBack, left, top); |
+ pBack.get(), left, top); |
} else { |
- bRet = pBitmap->TransferBitmap(0, 0, rect.Width(), rect.Height(), pBack, |
- left, top); |
+ bRet = pBitmap->TransferBitmap(0, 0, rect.Width(), rect.Height(), |
+ pBack.get(), left, top); |
} |
- delete pBack; |
return bRet; |
#endif // _SKIA_SUPPORT_PATHS_ |
} |