diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2022-11-07 10:48:06 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-11-08 08:59:15 +0100 |
commit | b763d57a023406049d2f6490a1a4b14c6a217463 (patch) | |
tree | b4ca9ed6eb838cc58a67fc13bcf5482f43e25f66 | |
parent | Use o3tl::convert instead of temporary Fractions (diff) | |
download | core-b763d57a023406049d2f6490a1a4b14c6a217463.tar.gz core-b763d57a023406049d2f6490a1a4b14c6a217463.zip |
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 <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
-rw-r--r-- | vcl/source/window/mouse.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
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 ) { |