diff options
author | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-01-07 02:43:48 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-01-07 13:21:02 +0000 |
commit | 6d62f6484c0ecb4a09332ad442f5cc53e6da9401 (patch) | |
tree | 8ad3d50ffe71c69f973541cb9ef25b10a56e0ba4 | |
parent | b269af6c8995e4afff42d2118371ccfd3812963e (diff) |
fdo#83354: Chart is truncated - moved down outside the margins of the object
Handle the case when the content height is unitialized (0).
When content height is 0 it means there is no content (so
we don't need to calculate adjustment) or the content height is
uninitialized which leads to wrong calculated value.
Regression from:
cb19042f4395c97d123a27c6960d5e30d666c010
(cherry picked from commit 89a81a6610cf316666291750e7300bcd1a97d062)
Change-Id: I45570a71f0597847820ce77e8dcec4a5b0c6785d
Reviewed-on: https://gerrit.libreoffice.org/13784
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sw/source/core/layout/fly.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx index 554144b884a7..b8e8d76c9db5 100644 --- a/sw/source/core/layout/fly.cxx +++ b/sw/source/core/layout/fly.cxx @@ -1737,7 +1737,12 @@ void SwFlyFrm::MakeContentPos( const SwBorderAttrs &rAttrs ) const SdrTextVertAdjust nAdjust = GetFmt()->GetTextVertAdjust().GetValue(); if( nAdjust != SDRTEXTVERTADJUST_TOP ) { - SwTwips nDiff = (Prt().*fnRect->fnGetHeight)() - CalcContentHeight(&rAttrs, nMinHeight, nUL); + const SwTwips nContentHeight = CalcContentHeight(&rAttrs, nMinHeight, nUL); + SwTwips nDiff = 0; + + if( nContentHeight != 0) + nDiff = (Prt().*fnRect->fnGetHeight)() - nContentHeight; + if( nDiff > 0 ) { if( nAdjust == SDRTEXTVERTADJUST_CENTER ) |