sw/source/core/layout/tabfrm.cxx |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit 313c2dcd7c7b5338c66ac238dbd183d027db3ab5
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Fri Apr 18 08:53:28 2025 +0100
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Wed Apr 23 14:52:17 2025 +0200

    crashtesting: null deref on layout of ooo46450-1.odt
    
    since:
    
    commit b595dff0bf2fcdb63586e36d007408cf23359a65 (HEAD)
    Date:   Fri Apr 11 16:50:43 2025 +0200
    
        tdf#166125 Revert "tdf#158532 sw: fix toolbar buttons remain disabled 
...
    
    Change-Id: I21bf86ffec48e155d1a1f4b9e6ab40555b77a1dc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184354
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 7195dd82392e..ec3041380712 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -2190,6 +2190,12 @@ static void InvalidateFramePositions(SwFrame * pFrame)
     }
 }
 
+static bool IsFirstNonHeadlineRowDeleteForbidden(const SwTabFrame& rFoll)
+{
+    const SwFrame* pFirstRow = rFoll.GetFirstNonHeadlineRow();
+    return pFirstRow && pFirstRow->IsDeleteForbidden();
+}
+
 void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext)
 {
     if ( IsJoinLocked() || StackHack::IsLocked() || StackHack::Count() > 50 )
@@ -2620,8 +2626,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* 
pRenderContext)
             if ( !bSplit && GetFollow() )
             {
                 bool bDummy;
-                if (!(HasFollowFlowLine()
-                        && 
GetFollow()->GetFirstNonHeadlineRow()->IsDeleteForbidden())
+                if (!(HasFollowFlowLine() && 
IsFirstNonHeadlineRowDeleteForbidden(*GetFollow()))
                     && GetFollow()->ShouldBwdMoved(GetUpper(), bDummy))
                 {
                     SwFrame *pTmp = GetUpper();

Reply via email to