diff options
author | tsepez <tsepez@chromium.org> | 2016-12-06 06:29:28 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-12-06 06:29:28 -0800 |
commit | 1a1d7648d3e338b756e464cebb2ae1a815359afa (patch) | |
tree | defa2de6d2cb61efd95ef212eb3e89e1a5811032 /core/fxge/dib/fx_dib_convert.cpp | |
parent | 7341149c634e0ab9a619898826440f6e952cf0aa (diff) | |
download | pdfium-1a1d7648d3e338b756e464cebb2ae1a815359afa.tar.xz |
Return unique_ptrs from CFX_DIBitmap::Clone().
Because that's what clone does. Perform immediate release
in some spots to avoid disrupting too much at once.
Review-Url: https://codereview.chromium.org/2534953004
Diffstat (limited to 'core/fxge/dib/fx_dib_convert.cpp')
-rw-r--r-- | core/fxge/dib/fx_dib_convert.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/fxge/dib/fx_dib_convert.cpp b/core/fxge/dib/fx_dib_convert.cpp index f5ae563d57..b1362462c3 100644 --- a/core/fxge/dib/fx_dib_convert.cpp +++ b/core/fxge/dib/fx_dib_convert.cpp @@ -9,6 +9,7 @@ #include "core/fxcodec/fx_codec.h" #include "core/fxge/fx_dib.h" +#include "third_party/base/ptr_util.h" class CFX_Palette { public: @@ -781,11 +782,12 @@ bool ConvertBuffer(FXDIB_Format dest_format, } } -CFX_DIBitmap* CFX_DIBSource::CloneConvert(FXDIB_Format dest_format) const { +std::unique_ptr<CFX_DIBitmap> CFX_DIBSource::CloneConvert( + FXDIB_Format dest_format) const { if (dest_format == GetFormat()) return Clone(nullptr); - std::unique_ptr<CFX_DIBitmap> pClone(new CFX_DIBitmap); + std::unique_ptr<CFX_DIBitmap> pClone = pdfium::MakeUnique<CFX_DIBitmap>(); if (!pClone->Create(m_Width, m_Height, dest_format)) return nullptr; @@ -819,7 +821,8 @@ CFX_DIBitmap* CFX_DIBSource::CloneConvert(FXDIB_Format dest_format) const { } if (pal_8bpp) pClone->CopyPalette(pal_8bpp.get()); - return pClone.release(); + + return pClone; } bool CFX_DIBitmap::ConvertFormat(FXDIB_Format dest_format) { |