vcl/source/window/window.cxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 3d347d1e7835104156ff3cce0b5ea05cefa8ba15
Author:     Michael Meeks <michael.me...@collabora.com>
AuthorDate: Fri Mar 11 17:23:43 2022 +0000
Commit:     Michael Meeks <michael.me...@collabora.com>
CommitDate: Tue Mar 15 10:41:19 2022 +0100

    Avoid segv when co-editing around SvxColorTabPage.
    
            vcl::Window::ImplCallDeactivateListeners(vcl::Window*)
                    vcl/source/window/window.cxx:3403 (discriminator 2)
            vcl::Window::ImplCallDeactivateListeners(vcl::Window*)
                    vcl/source/window/window.cxx:3404
            ...
            vcl::Window::ImplCallDeactivateListeners(vcl::Window*)
                    vcl/source/window/window.cxx:3404
            vcl::Window::ImplAsyncFocusHdl(void*)
                    include/rtl/ref.hxx:112
            ...
            Dialog::Execute()
                    vcl/source/window/dialog.cxx:1056
            virtual thunk to SalInstanceDialog::run()
                    vcl/source/app/salvtables.cxx:4924
            AbstractSvxNameDialog_Impl::Execute()
                    cui/source/factory/dlgfact.cxx:222
            SvxColorTabPage::ClickAddHdl_Impl(weld::Button&)
                    include/rtl/ref.hxx:192
    
    Change-Id: I12a78d65a8e7b8b728dde84f7c51cc19005c9aa6
    Signed-off-by: Michael Meeks <michael.me...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131353
    Tested-by: Jenkins

diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 453bf8e2ca14..180aa4a78dd2 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3412,7 +3412,8 @@ void Window::ImplCallDeactivateListeners( vcl::Window 
*pNew )
 
         // #100759#, avoid walking the wrong frame's hierarchy
         //           eg, undocked docking windows (ImplDockFloatWin)
-        if ( ImplGetParent() && mpWindowImpl->mpFrameWindow == 
ImplGetParent()->mpWindowImpl->mpFrameWindow )
+        if ( ImplGetParent() && ImplGetParent()->mpWindowImpl &&
+             mpWindowImpl->mpFrameWindow == 
ImplGetParent()->mpWindowImpl->mpFrameWindow )
             ImplGetParent()->ImplCallDeactivateListeners( pNew );
     }
 }

Reply via email to