sc/source/ui/drawfunc/graphsh.cxx      |    5 +++--
 sd/source/ui/view/GraphicObjectBar.cxx |    3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 1842ad9fd51f5384f78df60c3c1f61ba631896f4
Author:     Noel Grandin <[email protected]>
AuthorDate: Mon Mar 4 19:34:42 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Tue Mar 5 11:57:51 2024 +0100

    tdf#159933 crash when applying Solarize filter to raster image
    
    regression from
        commit 07b26af18d45ad7ecacc30c2c4cb2c23033e9f2d
        Author: Noel Grandin <[email protected]>
        Date:   Mon Jan 22 16:01:03 2024 +0200
        make the graphic filter dialogs async
    
    Change-Id: I6463ef4d20bc5a994c6f1a5f937bb7e982c1c5a5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164398
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/sc/source/ui/drawfunc/graphsh.cxx 
b/sc/source/ui/drawfunc/graphsh.cxx
index c383d6e42620..1cbdf0f52e29 100644
--- a/sc/source/ui/drawfunc/graphsh.cxx
+++ b/sc/source/ui/drawfunc/graphsh.cxx
@@ -112,7 +112,7 @@ void ScGraphicShell::ExecuteFilter( const SfxRequest& rReq )
             if( pGraphicObj->GetGraphicType() == GraphicType::Bitmap )
             {
                 SvxGraphicFilter::ExecuteGrfFilterSlot( rReq, 
pGraphicObj->GetGraphicObject(),
-                    [this, pView, pGraphicObj, pObj] (GraphicObject 
aFilterObj) -> void
+                    [pView, pGraphicObj, pObj] (GraphicObject aFilterObj) -> 
void
                     {
                         if( SdrPageView* pPageView = pView->GetSdrPageView() )
                         {
@@ -123,10 +123,11 @@ void ScGraphicShell::ExecuteFilter( const SfxRequest& 
rReq )
                             pView->ReplaceObjectAtView( pObj, *pPageView, 
pFilteredObj.get() );
                             pView->EndUndo();
                         }
-                        Invalidate();
                     });
+                return;
             }
     }
+    Invalidate();
 }
 
 void ScGraphicShell::GetExternalEditState( SfxItemSet& rSet )
diff --git a/sd/source/ui/view/GraphicObjectBar.cxx 
b/sd/source/ui/view/GraphicObjectBar.cxx
index a96eeabcaea5..09f73f056558 100644
--- a/sd/source/ui/view/GraphicObjectBar.cxx
+++ b/sd/source/ui/view/GraphicObjectBar.cxx
@@ -124,10 +124,11 @@ void GraphicObjectBar::ExecuteFilter( SfxRequest const & 
rReq )
                             pView->ReplaceObjectAtView( pObj, *pPageView, 
pFilteredObj.get() );
                             pView->EndUndo();
                         }
-                        Invalidate();
                     });
+                return;
             }
     }
+    Invalidate();
 }
 
 } // end of namespace sd

Reply via email to