diff options
Diffstat (limited to 'svx/source/svdraw/svdotext.cxx')
-rw-r--r-- | svx/source/svdraw/svdotext.cxx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index 9469e79843a1..41bd67eb19d5 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -452,19 +452,22 @@ bool SdrTextObj::HasTextImpl( SdrOutliner const * pOutliner ) return bRet; } -void SdrTextObj::SetPage(SdrPage* pNewPage) +void SdrTextObj::handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) { - bool bRemove=pNewPage==nullptr && pPage!=nullptr; - bool bInsert=pNewPage!=nullptr && pPage==nullptr; - bool bLinked=IsLinkedText(); + const bool bRemove(pNewPage == nullptr && pOldPage != nullptr); + const bool bInsert(pNewPage != nullptr && pOldPage == nullptr); + const bool bLinked(IsLinkedText()); - if (bLinked && bRemove) { + if (bLinked && bRemove) + { ImpDeregisterLink(); } - SdrAttrObj::SetPage(pNewPage); + // call parent + SdrAttrObj::handlePageChange(pOldPage, pNewPage); - if (bLinked && bInsert) { + if (bLinked && bInsert) + { ImpRegisterLink(); } } @@ -1949,7 +1952,7 @@ void ImpUpdateChainLinks(SdrTextObj *pTextObj, OUString const& aNextLinkName) return; } - SdrPage *pPage = pTextObj->GetPage(); + SdrPage *pPage(pTextObj->getSdrPageFromSdrObject()); assert(pPage); SdrTextObj *pNextTextObj = dynamic_cast< SdrTextObj * > (ImpGetObjByName(pPage, aNextLinkName)); |