summaryrefslogtreecommitdiff
path: root/sw/source/core/layout/flyincnt.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-03-04 13:30:09 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-03-04 13:30:09 +0100
commite49ca69747e9e905dbb00bbd5a7ea85331607a04 (patch)
tree2e80f08274617022ada93cb0a241396e2724154d /sw/source/core/layout/flyincnt.cxx
parent5a934b2c6085d4e397e1466f8cd6a813f3c2d9d6 (diff)
Hack to make an in-destruction SwFlyInCntFrm no longer claim to be one
as observed by -fsanitize=vptr e.g. during CppunitTest_sw_uiwriter (though the true fix might be to prevent all this from happening during ~SwFlyInFrm anyway?): SwFrm::InvalidatePage(SwPageFrm const*) SwFlyFrm::DeleteCnt() SwFlyFrm::~SwFlyFrm() SwFlyInCntFrm::~SwFlyInCntFrm() SwFrmFmt::DelFrms() SwUndoFlyBase::DelFly(SwDoc*) SwUndoDelLayFmt::SwUndoDelLayFmt(SwFrmFmt*) SwHistoryTxtFlyCnt::SwHistoryTxtFlyCnt(SwFrmFmt*) SwHistory::Add(SwTxtAttr*, unsigned long, bool) SwUndoSaveCntnt::DelCntntIndex(SwPosition const&, SwPosition const&, unsigned short) SwUndoDelete::SwUndoDelete(SwPaM&, bool, bool) sw::DocumentContentOperationsManager::DeleteRangeImplImpl(SwPaM&) sw::DocumentContentOperationsManager::DeleteRangeImpl(SwPaM&, bool) sw::DocumentContentOperationsManager::DeleteAndJoinImpl(SwPaM&, bool) (anonymous namespace)::lcl_DoWithBreaks(sw::DocumentContentOperationsManager&, SwPaM&, bool (sw::DocumentContentOperationsManager::*)(SwPaM&, bool), bool) sw::DocumentContentOperationsManager::DeleteAndJoin(SwPaM&, bool) SwEditShell::DeleteSel(SwPaM&, bool*) SwEditShell::Delete() ... Change-Id: I6e3d7f3ab9f11a46324826201bc1af9a2d3a88cb
Diffstat (limited to 'sw/source/core/layout/flyincnt.cxx')
-rw-r--r--sw/source/core/layout/flyincnt.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sw/source/core/layout/flyincnt.cxx b/sw/source/core/layout/flyincnt.cxx
index 2a9c8856b105..10d15ace6aa2 100644
--- a/sw/source/core/layout/flyincnt.cxx
+++ b/sw/source/core/layout/flyincnt.cxx
@@ -48,6 +48,10 @@ SwFlyInCntFrm::~SwFlyInCntFrm()
SwRect aTmp( GetObjRectWithSpaces() );
SwFlyInCntFrm::NotifyBackground( FindPageFrm(), aTmp, PREP_FLY_LEAVE );
}
+
+ // Hack to make sure code called from base ~SwFlyFrm does not interpret this
+ // as a SwFlyFrm (which it no longer is by then):
+ mnFrmType = FRM_UNUSED;
}
// #i28701#