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 ) {