svx/source/svdraw/svdedxv.cxx |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

New commits:
commit 10dc2e8a4661057672e64cecce5d0caa4de4110e
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Tue Feb 17 19:41:08 2026 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Tue Feb 17 16:33:48 2026 +0100

    svx: fixed incorrect outlinerView used entering textbox editing
    
    problem:
    in multiple view when one view is in dark mode and another view
    is in light mode, and one user starts editing textbox,
    automatic font color changes according to editing view for
    all other views sometimes making text not reabable
    
    this patch was privously reverted due regression. Text was disappearing in 
different situation in different themes.
    original patch: 544ebb0
    reverted patch: 534d2d9a
    
    Change-Id: I77ab216db579d358d0a152b30dc1017b489230f0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199547
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index de6c2db55a55..2941d5e8c703 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -933,19 +933,19 @@ void SdrObjEditView::TextEditDrawing(SdrPaintWindow& 
rPaintWindow)
     if (!IsTextEdit())
         return;
 
-    const SdrOutliner* pActiveOutliner = GetTextEditOutliner();
-    if (!pActiveOutliner)
-        return;
-
-    const sal_uInt32 nViewCount(pActiveOutliner->GetViewCount());
-    if (!nViewCount)
+    SfxViewShell* pViewShell = SfxViewShell::Current();
+    SdrView* pSdrView = pViewShell ? pViewShell->GetDrawView() : nullptr;
+    OutlinerView* pOLV = pSdrView ? pSdrView->GetTextEditOutlinerView() : 
nullptr;
+    if (!pOLV)
         return;
 
     const vcl::Region& rRedrawRegion = rPaintWindow.GetRedrawRegion();
     const tools::Rectangle aCheckRect(rRedrawRegion.GetBoundRect());
 
-    OutlinerView* pOLV = pActiveOutliner->GetView(0);
-    SdrPage* pPage = GetSdrPageView()->GetPage();
+    SdrPage* pPage = pSdrView->GetSdrPageView()->GetPage();
+    SAL_INFO("svx.svdraw", "SfxViewShell id: " << 
pViewShell->GetViewShellId().get());
+    SAL_INFO("svx.svdraw",
+             "Page background color: " << 
pPage->GetPageBackgroundColor(GetSdrPageView(), true));
     pOLV->SetBackgroundColor(pPage->GetPageBackgroundColor(GetSdrPageView(), 
true));
     ImpPaintOutlinerView(*pOLV, aCheckRect, 
rPaintWindow.GetTargetOutputDevice());
 }

Reply via email to