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

New commits:
commit 137ffafbf43a07446835539a4e17b199d06e3aa7
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Dec 15 16:20:31 2022 +0000
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Dec 16 07:56:02 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/+/144188
    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 7559b7bf2fb8..269bce441ed8 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -830,9 +830,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