From fbea60879c6a8db4604e6e0f23216c6ee5f238df Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 21 Sep 2018 19:47:47 +0000 Subject: Replace CPDF_Color::Copy() with honest-to-goodness operator=(). Change-Id: Ifcce7b1e513c8859752d5248ae686bbe5349e342 Reviewed-on: https://pdfium-review.googlesource.com/42614 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- core/fpdfapi/page/cpdf_color.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'core/fpdfapi/page/cpdf_color.cpp') diff --git a/core/fpdfapi/page/cpdf_color.cpp b/core/fpdfapi/page/cpdf_color.cpp index 44b2e4023d..d772deb530 100644 --- a/core/fpdfapi/page/cpdf_color.cpp +++ b/core/fpdfapi/page/cpdf_color.cpp @@ -12,7 +12,11 @@ #include "core/fpdfapi/parser/cpdf_document.h" #include "core/fxcrt/fx_system.h" -CPDF_Color::CPDF_Color() {} +CPDF_Color::CPDF_Color() = default; + +CPDF_Color::CPDF_Color(const CPDF_Color& that) { + *this = that; +} CPDF_Color::~CPDF_Color() { ReleaseBuffer(); @@ -119,32 +123,37 @@ void CPDF_Color::SetValueForPattern(CPDF_Pattern* pPattern, } } -void CPDF_Color::Copy(const CPDF_Color& src) { +CPDF_Color& CPDF_Color::operator=(const CPDF_Color& that) { + if (this == &that) + return *this; + ReleaseBuffer(); ReleaseColorSpace(); - m_pCS = src.m_pCS; + m_pCS = that.m_pCS; if (!m_pCS) - return; + return *this; CPDF_Document* pDoc = m_pCS->GetDocument(); const CPDF_Array* pArray = m_pCS->GetArray(); if (pDoc && pArray) { m_pCS = pDoc->GetPageData()->GetCopiedColorSpace(pArray); if (!m_pCS) - return; + return *this; } m_pBuffer = m_pCS->CreateBuf(); - memcpy(m_pBuffer, src.m_pBuffer, m_pCS->GetBufSize()); + memcpy(m_pBuffer, that.m_pBuffer, m_pCS->GetBufSize()); if (!IsPatternInternal()) - return; + return *this; PatternValue* pValue = reinterpret_cast(m_pBuffer); CPDF_Pattern* pPattern = pValue->m_pPattern; if (!pPattern) - return; + return *this; pValue->m_pPattern = pPattern->document()->GetPageData()->GetPattern( pPattern->pattern_obj(), false, pPattern->parent_matrix()); + + return *this; } uint32_t CPDF_Color::CountComponents() const { -- cgit v1.2.3