sw/source/uibase/uiview/viewsrch.cxx |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 3fe2c0a1864bb775c2e35166eb0019ab18e9c661
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Dec 15 16:20:31 2022 +0000
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Thu Dec 15 20:12:21 2022 +0000

    likely fix for frequent SfxViewFrame::GetChildWindow() crash
    
    crash report id: 58e9a91e-9feb-4eb4-a28e-27921d3e1b99
    
    Change-Id: I110d96f1c73f95025918ccc4043dac40c5e1dc4f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144189
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/source/uibase/uiview/viewsrch.cxx 
b/sw/source/uibase/uiview/viewsrch.cxx
index 04831dfccac9..118116423e45 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -821,9 +821,13 @@ SvxSearchDialog* SwView::GetSearchDialog()
 {
 #if HAVE_FEATURE_DESKTOP
     const sal_uInt16 nId = SvxSearchDialogWrapper::GetChildWindowId();
-    SvxSearchDialogWrapper *pWrp = static_cast<SvxSearchDialogWrapper*>( 
SfxViewFrame::Current()->GetChildWindow(nId) );
-    auto pSrchDlg = pWrp ? pWrp->getDialog() : nullptr;
-    return pSrchDlg;
+    SfxViewFrame* pFrame = SfxViewFrame::Current();
+    if (!pFrame)
+        return nullptr;
+    SvxSearchDialogWrapper *pWrp = 
static_cast<SvxSearchDialogWrapper*>(pFrame->GetChildWindow(nId));
+    if (!pWrp)
+        return nullptr;
+    return pWrp->getDialog();
 #else
     return nullptr;
 #endif

Reply via email to