diff --git sw/source/core/layout/newfrm.cxx sw/source/core/layout/newfrm.cxx index 2f02904..86eefcb 100644 --- sw/source/core/layout/newfrm.cxx +++ sw/source/core/layout/newfrm.cxx @@ -609,7 +609,8 @@ SwRootFrm::~SwRootFrm() pTurbo = 0; if(pBlink) pBlink->FrmDelete( this ); - static_cast(GetRegisteredInNonConst())->GetDoc()->DelFrmFmt( static_cast(GetRegisteredInNonConst()) ); + if ( static_cast(GetRegisteredInNonConst()) ) + static_cast(GetRegisteredInNonConst())->GetDoc()->DelFrmFmt( static_cast(GetRegisteredInNonConst()) ); delete pDestroy; pDestroy = 0; diff --git sw/source/core/layout/pagechg.cxx sw/source/core/layout/pagechg.cxx index f810f2f..3b18c16 100644 --- sw/source/core/layout/pagechg.cxx +++ sw/source/core/layout/pagechg.cxx @@ -296,7 +296,7 @@ SwPageFrm::~SwPageFrm() //Damit der Zugriff auf zerstoerte Seiten verhindert werden kann. if ( !IsEmptyPage() ) //#59184# sollte fuer Leerseiten unnoetig sein. { - SwDoc *pDoc = GetFmt()->GetDoc(); + SwDoc *pDoc = GetFmt() ? GetFmt()->GetDoc() : NULL; if( pDoc && !pDoc->IsInDtor() ) { ViewShell *pSh = getRootFrm()->GetCurrShell(); @@ -864,7 +864,8 @@ void AdjustSizeChgNotify( SwRootFrm *pRoot ) if( pRoot == pSh->GetLayout() ) { pSh->SizeChgNotify(); - pSh->Imp()->NotifySizeChg( pRoot->Frm().SSize() ); + if ( pSh->Imp() ) + pSh->Imp()->NotifySizeChg( pRoot->Frm().SSize() ); } pSh = (ViewShell*)pSh->GetNext(); } while ( pSh != pRoot->GetCurrShell() ); diff --git sw/source/core/view/viewsh.cxx sw/source/core/view/viewsh.cxx index 9903f97..d91c38e 100644 --- sw/source/core/view/viewsh.cxx +++ sw/source/core/view/viewsh.cxx @@ -904,7 +904,9 @@ void ViewShell::SetFirstVisPageInvalid() { ViewShell *pSh = this; do - { pSh->Imp()->SetFirstVisPageInvalid(); + { + if ( pSh->Imp() ) + pSh->Imp()->SetFirstVisPageInvalid(); pSh = (ViewShell*)pSh->GetNext(); } while ( pSh != this );