vcl/source/window/mouse.cxx | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit b763d57a023406049d2f6490a1a4b14c6a217463
Author: Miklos Vajna <[email protected]>
AuthorDate: Mon Nov 7 10:48:06 2022 +0100
Commit: Miklos Vajna <[email protected]>
CommitDate: Tue Nov 8 08:59:15 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-on: https://gerrit.libreoffice.org/c/core/+/142367
Reviewed-by: Michael Meeks <[email protected]>
Tested-by: Jenkins CollaboraOffice <[email protected]>
diff --git a/vcl/source/window/mouse.cxx b/vcl/source/window/mouse.cxx
index 9b533b991a9e..c77391f8393a 100644
--- a/vcl/source/window/mouse.cxx
+++ b/vcl/source/window/mouse.cxx
@@ -636,6 +636,8 @@ void Window::EnterWait()
void Window::LeaveWait()
{
+ if( !mpWindowImpl )
+ return;
if ( mpWindowImpl->mnWaitCount )
{