diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-10-14 23:52:18 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-10-15 06:56:21 +0200 |
commit | 2da25cb43f4af8d094b01de1073eee2e2023c029 (patch) | |
tree | 32fae407cfaee282730454d1364ff1a025da76c2 | |
parent | e00ac11c6b12d5e8e3e1537b3206eaa29a0a5e95 (diff) |
tdf#120593: properly handle tab pos identical to right indent
... otherwise it's counted without taking into account current column,
as well as TabsRelativeToIndent mode.
Change-Id: I7442f63d9d5c51c5a4d82094b49b8028f2b42b41
Reviewed-on: https://gerrit.libreoffice.org/61768
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r-- | svx/source/dialog/svxruler.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx index af433f2348e0..e6ec4bc8e876 100644 --- a/svx/source/dialog/svxruler.cxx +++ b/svx/source/dialog/svxruler.cxx @@ -2200,7 +2200,15 @@ void SvxRuler::ApplyTabs() if( mxRulerImpl->lMaxRightLogic != -1 && mpTabs[nCoreIdx + TAB_GAP].nPos + Ruler::GetNullOffset() == nMaxRight ) { - aTabStop.GetTabPos() = mxRulerImpl->lMaxRightLogic - lLogicNullOffset; + // Set tab pos exactly at the right indent + long nTmpLeftIndentLogic + = lAppNullOffset + (bRTL ? GetRightFrameMargin() : GetLeftFrameMargin()); + if (mxRulerImpl->bIsTabsRelativeToIndent && mxParaItem) + { + nTmpLeftIndentLogic += bRTL ? mxParaItem->GetRight() : mxParaItem->GetLeft(); + } + aTabStop.GetTabPos() + = mxRulerImpl->lMaxRightLogic - lLogicNullOffset - nTmpLeftIndentLogic; } else { |