| Index: xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.cpp
|
| diff --git a/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.cpp b/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.cpp
|
| index 3d1959f46c506ee0f35fca667fc84a762508162f..42d0bcab02918ff6b6106c970713a91d71de2d89 100644
|
| --- a/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.cpp
|
| +++ b/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.cpp
|
| @@ -543,11 +543,10 @@ void CXFA_LayoutPageMgr::FinishPaginatedPageSets() {
|
| pContentChildLayoutItem;
|
| pContentChildLayoutItem =
|
| pContentChildLayoutItem->m_pNextSibling) {
|
| - if (!pContentChildLayoutItem->IsContentLayoutItem()) {
|
| - continue;
|
| + if (CXFA_ContentLayoutItem* pContent =
|
| + pContentChildLayoutItem->AsContentLayoutItem()) {
|
| + fUsedHeight += pContent->m_sSize.y;
|
| }
|
| - fUsedHeight +=
|
| - ((CXFA_ContentLayoutItem*)pContentChildLayoutItem)->m_sSize.y;
|
| }
|
| rgUsedHeights.Add(fUsedHeight);
|
| }
|
| @@ -1865,15 +1864,12 @@ void XFA_SyncContainer(IXFA_Notify* pNotify,
|
| pNotify->OnLayoutEvent(pDocLayout, pContainerItem, XFA_LAYOUTEVENT_ItemAdded,
|
| (void*)(uintptr_t)nPageIndex,
|
| (void*)(uintptr_t)dwStatus);
|
| - CXFA_LayoutItem* pChild = pContainerItem->m_pFirstChild;
|
| - while (pChild) {
|
| - if (!pChild->IsContentLayoutItem()) {
|
| - pChild = pChild->m_pNextSibling;
|
| - continue;
|
| + for (CXFA_LayoutItem* pChild = pContainerItem->m_pFirstChild; pChild;
|
| + pChild = pChild->m_pNextSibling) {
|
| + if (pChild->IsContentLayoutItem()) {
|
| + XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer,
|
| + bVisibleItem, nPageIndex);
|
| }
|
| - XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer,
|
| - bVisibleItem, nPageIndex);
|
| - pChild = pChild->m_pNextSibling;
|
| }
|
| }
|
| void CXFA_LayoutPageMgr::SyncLayoutData() {
|
| @@ -1900,14 +1896,14 @@ void CXFA_LayoutPageMgr::SyncLayoutData() {
|
| CXFA_NodeIteratorTemplate<CXFA_LayoutItem,
|
| CXFA_TraverseStrategy_LayoutItem>
|
| iterator(pContainerItem);
|
| - for (CXFA_LayoutItem* pChildLayoutItem = iterator.GetCurrent();
|
| - pChildLayoutItem;) {
|
| - if (!pChildLayoutItem->IsContentLayoutItem()) {
|
| + CXFA_LayoutItem* pChildLayoutItem = iterator.GetCurrent();
|
| + while (pChildLayoutItem) {
|
| + CXFA_ContentLayoutItem* pContentItem =
|
| + pChildLayoutItem->AsContentLayoutItem();
|
| + if (!pContentItem) {
|
| pChildLayoutItem = iterator.MoveToNext();
|
| continue;
|
| }
|
| - CXFA_ContentLayoutItem* pContentItem =
|
| - (CXFA_ContentLayoutItem*)pChildLayoutItem;
|
| FX_BOOL bVisible =
|
| (pContentItem->m_pFormNode->GetEnum(XFA_ATTRIBUTE_Presence) ==
|
| XFA_ATTRIBUTEENUM_Visible);
|
|
|