diff options
author | tsepez <tsepez@chromium.org> | 2016-08-26 15:17:12 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-26 15:17:13 -0700 |
commit | 987f3ee94c3cb8e4a6113ad05453a2948469386c (patch) | |
tree | fbd1fdc800c2510c89ae043331a799a42c3251af /core/fpdfapi/fpdf_render/fpdf_render.cpp | |
parent | 83d2351fd64128156c9abfb70266133d58a5e525 (diff) | |
download | pdfium-987f3ee94c3cb8e4a6113ad05453a2948469386c.tar.xz |
Make CFX_CountRef<>::m_pObject private, add accessors, fix const-ness.
Hide the CountedObj class from the rest of the code.
Rename GetModify() to GetPrivateCopy(), since it turns out
there are places where we modify a potentially-shared copy.
Add non-const version of GetObject() to permit these.
Review-Url: https://codereview.chromium.org/2287633002
Diffstat (limited to 'core/fpdfapi/fpdf_render/fpdf_render.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_render/fpdf_render.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/core/fpdfapi/fpdf_render/fpdf_render.cpp b/core/fpdfapi/fpdf_render/fpdf_render.cpp index f24a66857d..f77e46d923 100644 --- a/core/fpdfapi/fpdf_render/fpdf_render.cpp +++ b/core/fpdfapi/fpdf_render/fpdf_render.cpp @@ -199,12 +199,14 @@ FX_BOOL CPDF_RenderStatus::Initialize(CPDF_RenderContext* pContext, const CPDF_ColorStateData* pParentData = pParentState->m_InitialStates.m_ColorState.GetObject(); if (!pColorData || pColorData->m_FillColor.IsNull()) { - CPDF_ColorStateData* pData = m_InitialStates.m_ColorState.GetModify(); + CPDF_ColorStateData* pData = + m_InitialStates.m_ColorState.GetPrivateCopy(); pData->m_FillRGB = pParentData->m_FillRGB; pData->m_FillColor.Copy(&pParentData->m_FillColor); } if (!pColorData || pColorData->m_StrokeColor.IsNull()) { - CPDF_ColorStateData* pData = m_InitialStates.m_ColorState.GetModify(); + CPDF_ColorStateData* pData = + m_InitialStates.m_ColorState.GetPrivateCopy(); pData->m_StrokeRGB = pParentData->m_FillRGB; pData->m_StrokeColor.Copy(&pParentData->m_StrokeColor); } @@ -915,10 +917,11 @@ CPDF_GraphicStates* CPDF_RenderStatus::CloneObjStates( } CPDF_GraphicStates* pStates = new CPDF_GraphicStates; pStates->CopyStates(*pSrcStates); - CPDF_Color* pObjColor = bStroke ? pSrcStates->m_ColorState.GetStrokeColor() - : pSrcStates->m_ColorState.GetFillColor(); + const CPDF_Color* pObjColor = bStroke + ? pSrcStates->m_ColorState.GetStrokeColor() + : pSrcStates->m_ColorState.GetFillColor(); if (!pObjColor->IsNull()) { - CPDF_ColorStateData* pColorData = pStates->m_ColorState.GetModify(); + CPDF_ColorStateData* pColorData = pStates->m_ColorState.GetPrivateCopy(); pColorData->m_FillRGB = bStroke ? pSrcStates->m_ColorState.GetObject()->m_StrokeRGB : pSrcStates->m_ColorState.GetObject()->m_FillRGB; |