summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-03-04 13:34:52 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-03-04 13:34:52 +0100
commitdb2c0dc78f11c2764f16e7ca4edaf2cdffc56c64 (patch)
tree38fa8506227f9978728b66c0b55bbe33c187704c /sw
parente49ca69747e9e905dbb00bbd5a7ea85331607a04 (diff)
Hack to make an in-destruction SwPageFrm no longer claim to be one
as observed by -fsanitize=vptr e.g. during CppunitTest_sw_mailmerge (though the true fix might be to prevent all this from happening during ~SwPageFrm anyway?): SwFrm::FindPageFrm() SwAnchoredObject::FindPageFrmOfAnchor() lcl_NotifyBackgroundOfObj(SwDrawContact&, SdrObject const&, Rectangle const*) SwDrawContact::DisconnectFromLayout(bool) SwDrawContact::DisconnectObjFromLayout(SdrObject*) SwLayoutFrm::Destroy() SwLayoutFrm::~SwLayoutFrm() SwFtnBossFrm::~SwFtnBossFrm() SwPageFrm::~SwPageFrm() SwFrm::CheckPageDescs(SwPageFrm*, bool, SwPageFrm**) SwFlowFrm::MoveBwd(bool&) SwCntntFrm::MakeAll() SwFrm::PrepareMake() SwFrm::Calc() SwLayAction::IsShortCut(SwPageFrm*&) SwLayAction::InternalAction() SwLayAction::Action() SwViewShell::ImplEndAction(bool) SwViewShell::EndAction(bool) SwCrsrShell::EndAction(bool, bool) SwEditShell::EndAllAction() SwDoc::AppendDoc(SwDoc const&, unsigned short, SwPageDesc*, bool) ... Change-Id: Iac207ef4a80318609f0a00d219dcccacaee7b205
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/layout/pagechg.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index 60c1f06f9d82..f65afbca664a 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -263,6 +263,10 @@ SwPageFrm::~SwPageFrm()
}
}
}
+
+ // Hack to make sure code called from base ~SwFtnBossFrm does not interpret
+ // this as a SwPageFrm (which it no longer is by then):
+ mnFrmType = FRM_UNUSED;
}
void SwPageFrm::CheckGrid( bool bInvalidate )