diff options
author | tsepez <tsepez@chromium.org> | 2017-01-03 15:58:33 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2017-01-03 15:58:33 -0800 |
commit | 4741b291f462c0c4a5de4abf1653c3b3c87b613a (patch) | |
tree | eece57648dfd0bd49ce653be9b90b65271d083e6 /core/fxcrt/cfx_retain_ptr.h | |
parent | d654d7854951e0ed3589fcc34617c7ca593d9e86 (diff) | |
download | pdfium-4741b291f462c0c4a5de4abf1653c3b3c87b613a.tar.xz |
Add CFX_RetainPtr Leak() and Unleak() methods
Required to pass pointers across C-APIs. Need this to clean
up CPDFXFA_Page and retain ptrs.
Review-Url: https://codereview.chromium.org/2583093003
Diffstat (limited to 'core/fxcrt/cfx_retain_ptr.h')
-rw-r--r-- | core/fxcrt/cfx_retain_ptr.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/fxcrt/cfx_retain_ptr.h b/core/fxcrt/cfx_retain_ptr.h index bff1b9691c..1b137d4974 100644 --- a/core/fxcrt/cfx_retain_ptr.h +++ b/core/fxcrt/cfx_retain_ptr.h @@ -37,6 +37,10 @@ class CFX_RetainPtr { T* Get() const { return m_pObj.get(); } void Swap(CFX_RetainPtr& that) { m_pObj.swap(that.m_pObj); } + // TODO(tsepez): temporary scaffolding, to be removed. + T* Leak() { return m_pObj.release(); } + void Unleak(T* ptr) { m_pObj.reset(ptr); } + CFX_RetainPtr& operator=(const CFX_RetainPtr& that) { if (*this != that) Reset(that.Get()); |