summaryrefslogtreecommitdiff
path: root/core/fxge/dib/fx_dib_convert.cpp
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-12-06 06:29:28 -0800
committerCommit bot <commit-bot@chromium.org>2016-12-06 06:29:28 -0800
commit1a1d7648d3e338b756e464cebb2ae1a815359afa (patch)
treedefa2de6d2cb61efd95ef212eb3e89e1a5811032 /core/fxge/dib/fx_dib_convert.cpp
parent7341149c634e0ab9a619898826440f6e952cf0aa (diff)
downloadpdfium-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.cpp9
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) {