diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 38ca293..041b39c 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -3370,7 +3370,7 @@ void GetSpacingValuesOfFrm( const SwFrm& rFrm, onLineSpacing = 0; } else - { + { assert(!rFrm.IsPageFrm()); const SvxULSpaceItem& rULSpace = rFrm.GetAttrSet()->GetULSpace(); onLowerSpacing = rULSpace.GetLower(); diff --git a/sw/source/core/layout/pagedesc.cxx b/sw/source/core/layout/pagedesc.cxx index e7641f2..e8c3ae3 100644 --- a/sw/source/core/layout/pagedesc.cxx +++ b/sw/source/core/layout/pagedesc.cxx @@ -302,18 +302,37 @@ bool SwPageDesc::IsFollowNextPageOfNode( const SwNode& rNd ) const return bRet; } +bool g_Revert (false); SwFrmFmt *SwPageDesc::GetLeftFmt(bool const bFirst) { + if ((nsUseOnPage::PD_LEFT & eUse) && bFirst && IsFirstShared()) + SAL_DEBUG("GetLeftFmt () changed"); + else + SAL_DEBUG("GetLeftFmt () boring"); +if (!g_Revert) return (nsUseOnPage::PD_LEFT & eUse) ? ((bFirst) ? &m_FirstLeft : &aLeft) : 0; +else + return (nsUseOnPage::PD_LEFT & eUse) + ? ((bFirst && !IsFirstShared()) ? &m_FirstLeft : &aLeft) + : 0; } SwFrmFmt *SwPageDesc::GetRightFmt(bool const bFirst) { + if ((nsUseOnPage::PD_RIGHT & eUse) && bFirst && IsFirstShared()) + SAL_DEBUG("GetRightFmt() changed"); + else + SAL_DEBUG("GetRightFmt() boring"); +if (!g_Revert) return (nsUseOnPage::PD_RIGHT & eUse) ? ((bFirst) ? &m_FirstMaster : &aMaster) : 0; +else + return (nsUseOnPage::PD_RIGHT & eUse) + ? ((bFirst && !IsFirstShared()) ? &m_FirstMaster : &aMaster) + : 0; } bool SwPageDesc::IsFirstShared() const diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx index f30fa20..b3ef513 100644 --- a/sw/source/core/layout/wsfrm.cxx +++ b/sw/source/core/layout/wsfrm.cxx @@ -2945,6 +2945,10 @@ void SwLayoutFrm::Format( const SwBorderAttrs *pAttrs ) const sal_uInt16 nLeft = (sal_uInt16)pAttrs->CalcLeft( this ); const sal_uInt16 nUpper = pAttrs->CalcTop(); + if (IsPageFrm()) + { + SAL_DEBUG("Format PageFrm " << this << " nUpper " << nUpper); + } const sal_uInt16 nRight = (sal_uInt16)((SwBorderAttrs*)pAttrs)->CalcRight( this ); const sal_uInt16 nLower = pAttrs->CalcBottom(); bool bVert = IsVertical() && !IsPageFrm(); diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx index c411cf2..3816f30 100644 --- a/sw/source/uibase/dbui/dbmgr.cxx +++ b/sw/source/uibase/dbui/dbmgr.cxx @@ -2944,6 +2944,7 @@ sal_Int32 SwDBManager::MergeDocuments( SwMailMergeConfigItem& rMMConfig, nEndRow = pImpl->pMergeData->xResultSet->getRow(); ++nDocNo; } while( !bCancel && +nDocNo < 3 && (bSynchronizedDoc && (nStartRow != nEndRow)? ExistsNextRecord() : ToNextMergeRecord())); //deselect all, go out of the frame and go to the beginning of the document