summaryrefslogtreecommitdiff
path: root/xfa/fxfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa')
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.cpp25
-rw-r--r--xfa/fxfa/parser/xfa_layout_itemlayout.h3
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 <float.h>
#include <list>
+#include <map>
#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<FX_FLOAT> m_rgSpecifiedColumnWidths;
CFX_ArrayTemplate<CXFA_ContentLayoutItem*> m_arrayKeepItems;
- CFX_MapPtrToPtr m_PendingNodesCount;
+ std::map<CXFA_Node*, int32_t> m_PendingNodesCount;
FX_FLOAT m_fLastRowWidth;
FX_FLOAT m_fLastRowY;
FX_FLOAT m_fWidthLimite;