summaryrefslogtreecommitdiff
path: root/xfa/fde/cfde_textout.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-05-16 15:40:23 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-05-16 23:11:57 +0000
commit365333552cf67b7c97c4093177e7ed7b43f540ab (patch)
tree44dfc8a496ff586def85d34e0a07893445b79cc7 /xfa/fde/cfde_textout.cpp
parentdde95d8be9bc2817e34429fc38ee6d89d6d5ab75 (diff)
downloadpdfium-365333552cf67b7c97c4093177e7ed7b43f540ab.tar.xz
CFDE_RenderDevice::m_bOwnerDevice is always false
So remove it. But they probably wanted it to be true in one place, because it looks like a leak. So find a better way to own the object. Change-Id: I15937e29da5ce8b380f82cb20ee3ecc3f49b8ca3 Reviewed-on: https://pdfium-review.googlesource.com/5473 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fde/cfde_textout.cpp')
-rw-r--r--xfa/fde/cfde_textout.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/xfa/fde/cfde_textout.cpp b/xfa/fde/cfde_textout.cpp
index b41ee1fbd8..6d5ab2a980 100644
--- a/xfa/fde/cfde_textout.cpp
+++ b/xfa/fde/cfde_textout.cpp
@@ -7,6 +7,7 @@
#include "xfa/fde/cfde_textout.h"
#include <algorithm>
+#include <utility>
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
@@ -117,16 +118,16 @@ void CFDE_TextOut::SetLineSpace(float fLineSpace) {
void CFDE_TextOut::SetDIBitmap(const CFX_RetainPtr<CFX_DIBitmap>& pDIB) {
ASSERT(pDIB);
-
m_pRenderDevice.reset();
- CFX_DefaultRenderDevice* device = new CFX_DefaultRenderDevice;
- device->Attach(pDIB, false, nullptr, false);
- m_pRenderDevice = pdfium::MakeUnique<CFDE_RenderDevice>(device, false);
+ m_pDefaultRenderDevice = pdfium::MakeUnique<CFX_DefaultRenderDevice>();
+ m_pDefaultRenderDevice->Attach(pDIB, false, nullptr, false);
+ m_pRenderDevice =
+ pdfium::MakeUnique<CFDE_RenderDevice>(m_pDefaultRenderDevice.get());
}
void CFDE_TextOut::SetRenderDevice(CFX_RenderDevice* pDevice) {
ASSERT(pDevice);
- m_pRenderDevice = pdfium::MakeUnique<CFDE_RenderDevice>(pDevice, false);
+ m_pRenderDevice = pdfium::MakeUnique<CFDE_RenderDevice>(pDevice);
}
void CFDE_TextOut::SetClipRect(const CFX_Rect& rtClip) {