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

New commits:
commit 7836158294a5536bda4b2cf7193180f4a0ed8e05
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:30:05 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/+/125711
    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 9fa5b3d4c71e..82c901185387 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -535,7 +535,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