diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-03-04 13:30:09 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-03-04 13:30:09 +0100 |
commit | e49ca69747e9e905dbb00bbd5a7ea85331607a04 (patch) | |
tree | 2e80f08274617022ada93cb0a241396e2724154d /sw/source/core/layout/flyincnt.cxx | |
parent | 5a934b2c6085d4e397e1466f8cd6a813f3c2d9d6 (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.cxx | 4 |
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# |