sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

New commits:
commit 589cfd3ef33ddb42ea265e2ab2b87d32f1f1f67d
Author:     Jim Raykowski <rayk...@gmail.com>
AuthorDate: Sun Sep 25 22:18:39 2022 -0800
Commit:     Jim Raykowski <rayk...@gmail.com>
CommitDate: Wed Sep 28 16:40:27 2022 +0200

    tdf#140892 Account for list bullets and numbering
    
    when placing outline folding button
    
    Change-Id: I2cdd9916c0f1327d9a48443d00205490bfb04f31
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140585
    Tested-by: Jenkins
    Reviewed-by: Jim Raykowski <rayk...@gmail.com>

diff --git a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx 
b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
index 33d0b72ffd41..998548550274 100644
--- a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
+++ b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
@@ -131,13 +131,19 @@ void SwOutlineContentVisibilityWin::Set()
     SetQuickHelpText(sQuickHelp);
 
     // Set the position of the window
-    SwRect aFrameAreaRect = GetFrame()->getFrameArea();
-    aFrameAreaRect.AddTop(GetFrame()->GetTopMargin());
+    SwRect aFrameAreaRect = pTextFrame->getFrameArea();
+    aFrameAreaRect.AddTop(pTextFrame->GetTopMargin());
+    SwSpecialPos aSpecialPos;
+    aSpecialPos.nExtendRange = pTextNode->HasVisibleNumberingOrBullet() ? 
SwSPExtendRange::BEFORE
+                                                                        : 
SwSPExtendRange::NONE;
+    SwCursorMoveState aMoveState;
+    aMoveState.m_pSpecialPos = &aSpecialPos;
     SwRect aCharRect;
-    GetFrame()->GetCharRect(aCharRect, SwPosition(*pTextNode));
+    pTextFrame->GetCharRect(aCharRect, 
SwPosition(*(pTextFrame->GetTextNodeForParaProps())),
+                            &aMoveState);
     Point aPxPt(GetEditWin()->GetOutDev()->LogicToPixel(
         Point(aCharRect.Left(), aFrameAreaRect.Center().getY())));
-    if (GetFrame()->IsRightToLeft())
+    if (pTextFrame->IsRightToLeft())
         aPxPt.AdjustX(2);
     else
         aPxPt.AdjustX(-(GetSizePixel().getWidth() + 2));

Reply via email to