Bugzilla – Attachment 49762 Details for
Bug 39510
CRASH closing document with footnotes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch for debugging the issue
debug_fdo39510.diff (text/plain), 2.96 KB, created by
Björn Michaelsen
on 2011-07-31 12:21:37 UTC
(
hide
)
Description:
patch for debugging the issue
Filename:
MIME Type:
Creator:
Björn Michaelsen
Created:
2011-07-31 12:21:37 UTC
Size:
2.96 KB
patch
obsolete
>diff --git a/sw/source/core/layout/newfrm.cxx b/sw/source/core/layout/newfrm.cxx >index 86eefcb..3d7bab7 100644 >--- a/sw/source/core/layout/newfrm.cxx >+++ b/sw/source/core/layout/newfrm.cxx >@@ -601,10 +601,22 @@ void SwRootFrm::Init( SwFrmFmt* pFmt ) > |* > |*************************************************************************/ > >+#if OSL_DEBUG_LEVEL > 0 >+static SwRootFrm* pDestructingRootFrm = NULL; >+SwRootFrm* debug_GetDestructingRootFrm() >+{ >+ OSL_TRACE("Destructing RootFrm is at %p", pDestructingRootFrm); >+ return pDestructingRootFrm; >+} >+#endif > > > SwRootFrm::~SwRootFrm() > { >+#if OSL_DEBUG_LEVEL > 0 >+ pDestructingRootFrm = this; >+ debug_GetDestructingRootFrm(); >+#endif > bTurboAllowed = sal_False; > pTurbo = 0; > if(pBlink) >@@ -677,4 +689,70 @@ void SwRootFrm::AllInvalidateSmartTagsOrSpelling(sal_Bool bSmartTags) const > } //swmod 080218 > } > >+#if OSL_DEBUG_LEVEL > 0 >+static const SwFrm* debug_dfsnext(const SwFrm* pFrm) >+{ >+ const SwFrm* pRet = pFrm->GetLower(); >+ if(pRet) >+ { >+ OSL_TRACE("moving down from %p to %p", pFrm, pRet); >+ return pRet; >+ } >+ pRet = pFrm->GetNext(); >+ if(pRet) >+ { >+ OSL_TRACE("sideways from %p to %p", pFrm, pRet); >+ return pRet; >+ } >+ pRet = pFrm; >+ OSL_TRACE("up from %p to %p", pRet, pRet->GetUpper()); >+ while( (pRet = pRet->GetUpper()) ) >+ { >+ if(pRet->GetNext()) >+ { >+ OSL_TRACE("sideways from %p to %p", pRet, pRet->GetNext()); >+ return pRet->GetNext(); >+ } >+ OSL_TRACE("up from %p to %p", pRet, pRet->GetUpper()); >+ } >+ return NULL; >+} >+ >+#include <txtfrm.hxx> >+#include <bodyfrm.hxx> >+#include <hffrm.hxx> >+ >+static void debug_checkCntntFrmFollow(const SwRootFrm* const pRootFrm) >+{ >+ const SwFrm* pFrm = pRootFrm; >+ while( (pFrm = debug_dfsnext(pFrm)) ) >+ { >+ if(dynamic_cast<const SwRootFrm*>(pFrm)) >+ OSL_TRACE("Checking root frame %p", pFrm); >+ else if(dynamic_cast<const SwPageFrm*>(pFrm)) >+ OSL_TRACE("Checking page frame %p", pFrm); >+ else if(dynamic_cast<const SwTxtFrm*>(pFrm)) >+ OSL_TRACE("Checking text frame %p", pFrm); >+ else if(dynamic_cast<const SwBodyFrm*>(pFrm)) >+ OSL_TRACE("Checking body frame %p", pFrm); >+ else if(dynamic_cast<const SwFooterFrm*>(pFrm)) >+ OSL_TRACE("Checking footer frame %p", pFrm); >+ else if(dynamic_cast<const SwHeaderFrm*>(pFrm)) >+ OSL_TRACE("Checking header frame %p", pFrm); >+ else >+ OSL_TRACE("Checking unknown frame %p", pFrm); >+ >+ >+ const SwCntntFrm* pCntntFrm = dynamic_cast<const SwCntntFrm*>(pFrm); >+ if(!pCntntFrm) >+ continue; >+ if(!pCntntFrm->IsFollow()) >+ OSL_TRACE("%p is not a follow", pFrm); >+ continue; >+ if(!pCntntFrm->FindMaster()) >+ OSL_TRACE("CntntFrm %p is lost in space", pCntntFrm); >+ } >+} >+#endif >+ > /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 39510
:
49478
|
49536
|
49761
| 49762 |
49780
|
50269
|
51098
|
51163
|
51329
|
51524