[Libreoffice-commits] core.git: sw/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Fri Dec 14 15:09:08 UTC 2018
sw/source/core/objectpositioning/anchoredobjectposition.cxx | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
New commits:
commit 98e84dc591e23bd8e43c7c6d5ec6511eafa91900
Author: Patrick Jaap <patrick.jaap at tu-dresden.de>
AuthorDate: Wed Nov 7 08:45:46 2018 +0100
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Fri Dec 14 16:08:40 2018 +0100
tdf#120839: Special handling for anchored-to-char frames
The anchor can move to other pages if the frame is moved.
To avoid removing the contents of the frame, exclude this case.
This resolves a regression introduced by
8d62b79f168180c6992eb483ec864d473050635f
Change-Id: Ie7acd3c58ef9055cbe449ec15d337f03a02e0edd
Reviewed-on: https://gerrit.libreoffice.org/62987
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/sw/source/core/objectpositioning/anchoredobjectposition.cxx b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
index 5cd671c934ce..d4d44e4ae199 100644
--- a/sw/source/core/objectpositioning/anchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
@@ -456,11 +456,12 @@ SwTwips SwAnchoredObjectPosition::ImplAdjustVertRelPos( const SwTwips nTopOfAnch
}
else
{
- /// tdf#112443 if position is completely off-page
- // return the proposed position and do not adjust it.
+ // tdf#112443 if position is completely off-page
+ // return the proposed position and do not adjust it...
+ // tdf#120839 .. unless anchored to char (anchor can jump on other page)
bool bDisablePositioning = mpFrameFormat->getIDocumentSettingAccess().get(DocumentSettingId::DISABLE_OFF_PAGE_POSITIONING);
- if ( bDisablePositioning && nTopOfAnch + nAdjustedRelPosY > aPgAlignArea.Right() )
+ if ( bDisablePositioning && !IsAnchoredToChar() && nTopOfAnch + nAdjustedRelPosY > aPgAlignArea.Right() )
{
return nProposedRelPosY;
}
@@ -482,10 +483,11 @@ SwTwips SwAnchoredObjectPosition::ImplAdjustVertRelPos( const SwTwips nTopOfAnch
else
{
// tdf#112443 if position is completely off-page
- // return the proposed position and do not adjust it.
+ // return the proposed position and do not adjust it...
+ // tdf#120839 .. unless anchored to char (anchor can jump on other page)
bool bDisablePositioning = mpFrameFormat->getIDocumentSettingAccess().get(DocumentSettingId::DISABLE_OFF_PAGE_POSITIONING);
- if ( bDisablePositioning && nTopOfAnch + nAdjustedRelPosY > aPgAlignArea.Bottom() )
+ if ( bDisablePositioning && !IsAnchoredToChar() && nTopOfAnch + nAdjustedRelPosY > aPgAlignArea.Bottom() )
{
return nProposedRelPosY;
}
More information about the Libreoffice-commits
mailing list