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

New commits:
commit 3df3488014dc5f80756c24f584bb554845f4a2df
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Mon Nov 7 10:48:06 2022 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Wed Nov 9 09:08:16 2022 +0100

    vcl: fix crash in Window::LeaveWait()
    
    Crashreport signature:
    
    SIG   Fatal signal received: SIGSEGV code: 128 for address: 0x0
    program/libmergedlo.so
            vcl::Window::LeaveWait()
                    vcl/source/window/mouse.cxx:640
    program/../program/libsclo.so
            ScSpellingEngine::ShowTableWrapDialog()
                    sc/source/ui/view/spelleng.cxx:315
    program/libsclo.so
            ScConversionEngineBase::FindNextConversionCell()
                    sc/source/ui/view/spelleng.cxx:168
    program/../program/libsclo.so
            ScSpellDialogChildWindow::GetNextWrongSentence(bool)
                    
/opt/rh/devtoolset-10/root/usr/include/c++/10/bits/unique_ptr.h:173
    
    Seeing that e.g. Window::GetDropTarget() also handles a disposed
    vcl::Window, let's do the same here.
    
    Change-Id: Ia4ad312ae91dfef24266c5bd45751778acbee367
    Reviewed-by: Michael Meeks <michael.me...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142473
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx
index 9b86199fd03c..fe9e2b0f2444 100644
--- a/vcl/source/window/mouse.cxx
+++ b/vcl/source/window/mouse.cxx
@@ -637,6 +637,8 @@ void Window::EnterWait()
 
 void Window::LeaveWait()
 {
+    if( !mpWindowImpl )
+        return;
 
     if ( mpWindowImpl->mnWaitCount )
     {

Reply via email to