From 7aaaae625557f387cf7c829614e397fbf43578b6 Mon Sep 17 00:00:00 2001 From: tsepez Date: Fri, 20 May 2016 14:43:28 -0700 Subject: Use std::map in CXFA_ItemLayoutProcessor BUG= Review-Url: https://codereview.chromium.org/1999883002 --- xfa/fxfa/parser/xfa_layout_itemlayout.cpp | 25 ++++++++++++------------- xfa/fxfa/parser/xfa_layout_itemlayout.h | 3 ++- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp index 8b85ba8075..860de2d82c 100644 --- a/xfa/fxfa/parser/xfa_layout_itemlayout.cpp +++ b/xfa/fxfa/parser/xfa_layout_itemlayout.cpp @@ -2974,26 +2974,25 @@ void CXFA_ItemLayoutProcessor::SetCurrentComponentSize(FX_FLOAT fWidth, FX_FLOAT fHeight) { m_pLayoutItem->m_sSize = CFX_SizeF(fWidth, fHeight); } + FX_BOOL CXFA_ItemLayoutProcessor::JudgeLeaderOrTrailerForOccur( CXFA_Node* pFormNode) { - if (pFormNode == NULL) { + if (!pFormNode) return FALSE; - } + CXFA_Node* pTemplate = pFormNode->GetTemplateNode(); - if (!pTemplate) { + if (!pTemplate) pTemplate = pFormNode; - } + CXFA_Occur NodeOccur(pTemplate->GetFirstChildByClass(XFA_ELEMENT_Occur)); int32_t iMax = NodeOccur.GetMax(); - if (iMax > -1) { - int32_t iCount = - (int32_t)(uintptr_t)m_PendingNodesCount.GetValueAt(pTemplate); - if (iCount >= iMax) { - return FALSE; - } - iCount++; - m_PendingNodesCount.SetAt(pTemplate, (void*)(uintptr_t)(iCount)); + if (iMax < 0) return TRUE; - } + + int32_t iCount = m_PendingNodesCount[pTemplate]; + if (iCount >= iMax) + return FALSE; + + m_PendingNodesCount[pTemplate] = iCount + 1; return TRUE; } diff --git a/xfa/fxfa/parser/xfa_layout_itemlayout.h b/xfa/fxfa/parser/xfa_layout_itemlayout.h index 8e7032e6e0..f7376d250e 100644 --- a/xfa/fxfa/parser/xfa_layout_itemlayout.h +++ b/xfa/fxfa/parser/xfa_layout_itemlayout.h @@ -10,6 +10,7 @@ #include #include +#include #include "core/fxcrt/include/fx_basic.h" #include "xfa/fxfa/parser/xfa_doclayout.h" @@ -182,7 +183,7 @@ class CXFA_ItemLayoutProcessor { FX_BOOL m_bBreakPending; CFX_ArrayTemplate m_rgSpecifiedColumnWidths; CFX_ArrayTemplate m_arrayKeepItems; - CFX_MapPtrToPtr m_PendingNodesCount; + std::map m_PendingNodesCount; FX_FLOAT m_fLastRowWidth; FX_FLOAT m_fLastRowY; FX_FLOAT m_fWidthLimite; -- cgit v1.2.3