sw/source/core/layout/ftnfrm.cxx | 2 +- sw/source/core/layout/newfrm.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
New commits: commit a6d98bb23f5ced5cf4f03666099f4bcb1f7ab185 Author: Michael Stahl <mst...@redhat.com> Date: Sat Feb 18 00:06:33 2012 +0100 fdo#39510: fix yet more layout crashes in ~SwRootFrm: Call SwRootFrm::RemoveFtns with the proper boolean to also eliminate EndNotes, and fix a faulty while loop in RemoveFtns that's been preventing removal of footnotes in certain sections since the dawn of CVS history. (regression from CWS swlayoutrefactoring, crashes on bugdoc from i#101776) (cherry picked from commit 962d0500c4debaef43e5f146e47e08c66d851562) Signed-off-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sw/source/core/layout/ftnfrm.cxx b/sw/source/core/layout/ftnfrm.cxx index a8e1b46..8f0d1aa 100644 --- a/sw/source/core/layout/ftnfrm.cxx +++ b/sw/source/core/layout/ftnfrm.cxx @@ -1004,7 +1004,7 @@ void lcl_RemoveFtns( SwFtnBossFrm* pBoss, sal_Bool bPageOnly, sal_Bool bEndNotes if( pBody && pBody->Lower() ) { SwFrm* pLow = pBody->Lower(); - while( pLow->GetNext() ) + while (pLow) { if( pLow->IsSctFrm() && ( !pLow->GetNext() || ((SwSectionFrm*)pLow)->IsAnyNoteAtEnd() ) && diff --git a/sw/source/core/layout/newfrm.cxx b/sw/source/core/layout/newfrm.cxx index 3943336..f51aa6b 100644 --- a/sw/source/core/layout/newfrm.cxx +++ b/sw/source/core/layout/newfrm.cxx @@ -616,7 +616,7 @@ SwRootFrm::~SwRootFrm() // also searches backwards to find the master of footnotes, they must be // considered to be owned by the SwRootFrm and also be destroyed here, // before tearing down the (now footnote free) rest of the layout. - AllRemoveFtns(); + RemoveFtns(0, false, true); if(pBlink) pBlink->FrmDelete( this ); _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits