sc/source/ui/docshell/dbdocfun.cxx |    3 ++-
 sc/source/ui/view/gridwin.cxx      |   27 +++++++++++++++++----------
 2 files changed, 19 insertions(+), 11 deletions(-)

New commits:
commit 8c9611f72d80544dcddbf850533ee597c9bc9ad4
Author:     Balazs Varga <[email protected]>
AuthorDate: Fri Nov 7 19:00:26 2025 +0100
Commit:     Balazs Varga <[email protected]>
CommitDate: Thu Jan 29 09:29:54 2026 +0100

    Table style: fix horizontal auto fill update on table area
    
    In case of horizontal auto fill of the table area require
    an update on the selected area otherwise the area will stay
    selected.
    
    Change-Id: Id41b929e49262b61a7af4cac4b7af05649b18a37
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193689
    Reviewed-by: Andras Timar <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196757
    Reviewed-by: Balazs Varga <[email protected]>
    Tested-by: Balazs Varga <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197983
    Tested-by: Jenkins

diff --git a/sc/source/ui/docshell/dbdocfun.cxx 
b/sc/source/ui/docshell/dbdocfun.cxx
index 1146736cd1d2..c7568ff59d28 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -259,7 +259,8 @@ void ScDBDocFunc::ModifyDBData( const ScDBData& rNewData )
         }
     }
 
-    rDocShell.PostPaint(aOldRange, PaintPartFlags::Grid);
+    rDocShell.PostPaint(aOldRange, PaintPartFlags::Grid | PaintPartFlags::Left 
| PaintPartFlags::Top
+        | PaintPartFlags::Size);
 
     if (bUndo)
     {
commit 7b576ced84d686824e8f2f4c0a7efc8b3ab9f3af
Author:     Balazs Varga <[email protected]>
AuthorDate: Wed Nov 5 20:02:16 2025 +0100
Commit:     Balazs Varga <[email protected]>
CommitDate: Thu Jan 29 09:29:44 2026 +0100

    Table styles: fix crash in online after selecting table area
    
    TODO: draw rectangle around table area and show auto fill rectangle
    in Online.
    
    Change-Id: Idb71c2e6eb426ca9141ceba5b5cbac7801bd15be
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193688
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Andras Timar <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196756
    Tested-by: Balazs Varga <[email protected]>
    Reviewed-by: Balazs Varga <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197982
    Tested-by: Jenkins

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 589f28c3eea0..0278d4113bf5 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -6997,6 +6997,7 @@ void ScGridWindow::UpdateSelectionOverlay()
 
 void ScGridWindow::DeleteDatabaseOverlay()
 {
+    mpDBExpandRect.reset();
     mpOODatabase.reset();
 }
 
@@ -7044,16 +7045,22 @@ void ScGridWindow::UpdateDatabaseOverlay()
 
         // #i70788# get the OverlayManager safely
         rtl::Reference<sdr::overlay::OverlayManager> xOverlayManager = 
getOverlayManager();
-        std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new 
sdr::overlay::OverlaySelection(
-            sdr::overlay::OverlayType::NoFill,
-            aDBColor,
-            std::move(aRanges),
-            true, true));
-
-        xOverlayManager->add(*pOverlay);
-        std::unique_ptr<sdr::overlay::OverlayObjectList> pOverlayList = 
DrawFillMarker(aCurrRange.aEnd.Col(), aCurrRange.aEnd.Row(), mpDBExpandRect);
-        mpOODatabase.swap(pOverlayList);
-        mpOODatabase->append(std::move(pOverlay));
+        if (xOverlayManager.is())
+        {
+            std::unique_ptr<sdr::overlay::OverlayObject> pOverlay(new 
sdr::overlay::OverlaySelection(
+                sdr::overlay::OverlayType::NoFill,
+                aDBColor,
+                std::move(aRanges),
+                true, true));
+
+            xOverlayManager->add(*pOverlay);
+            std::unique_ptr<sdr::overlay::OverlayObjectList> pOverlayList = 
DrawFillMarker(aCurrRange.aEnd.Col(), aCurrRange.aEnd.Row(), mpDBExpandRect);
+            if (pOverlayList)
+            {
+                mpOODatabase.swap(pOverlayList);
+                mpOODatabase->append(std::move(pOverlay));
+            }
+        }
     }
 }
 

Reply via email to