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

New commits:
commit 5f7cce61b9863732a4467edfc07cf4033de07412
Author:     Michael Meeks <michael.me...@collabora.com>
AuthorDate: Tue Nov 23 14:25:45 2021 +0000
Commit:     Jan Holesovsky <ke...@collabora.com>
CommitDate: Tue Nov 23 22:29:31 2021 +0100

    Crash around help-windows.
    
    Seems a popular way to crash:
            vcl::Window::ImplCallMove()
                    vcl/source/window/event.cxx:555
            vcl::Window::Show(bool, ShowFlags) [clone .localalias]
                    /usr/include/c++/10/bits/unique_ptr.h:173
            vcl::Window::Show(bool, ShowFlags)
                    vcl/source/window/window.cxx:2345
            HelpTextWindow::ImplShow()
                    vcl/source/app/help.cxx:371
            Scheduler::ProcessTaskScheduling()
                    vcl/source/app/scheduler.cxx:495
    
    Change-Id: I33ca0059844395c41f4d76619cca22aec81df207
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125702
    Tested-by: Michael Meeks <michael.me...@collabora.com>
    Reviewed-by: Jan Holesovsky <ke...@collabora.com>

diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 23bb7b00a43c..0b096938fa74 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -552,7 +552,8 @@ void Window::ImplCallMove()
         vcl::Window *pParent = ImplGetParent();
         while( pParent )
         {
-            if( pParent->mpWindowImpl->mpFrame != mpWindowImpl->mpFrame )
+            if( pParent->mpWindowImpl &&
+                pParent->mpWindowImpl->mpFrame != mpWindowImpl->mpFrame )
             {
                 pParentFrame = pParent->mpWindowImpl->mpFrame;
                 break;

Reply via email to