summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2022-03-11 17:23:43 +0000
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2022-03-17 12:17:12 +0100
commit6ab71c02a0e62612cca31af87443ee8ebcfefaa0 (patch)
tree7b3ac96b23db8b93d59d5ab68b256369b639ba6e /vcl/source
parenta4fb9afedea2efed62880d0b3a7e1c36da58c748 (diff)
Avoid segv when co-editing around SvxColorTabPage.
vcl::Window::ImplCallDeactivateListeners(vcl::Window*) vcl/source/window/window.cxx:3403 (discriminator 2) vcl::Window::ImplCallDeactivateListeners(vcl::Window*) vcl/source/window/window.cxx:3404 ... vcl::Window::ImplCallDeactivateListeners(vcl::Window*) vcl/source/window/window.cxx:3404 vcl::Window::ImplAsyncFocusHdl(void*) include/rtl/ref.hxx:112 ... Dialog::Execute() vcl/source/window/dialog.cxx:1056 virtual thunk to SalInstanceDialog::run() vcl/source/app/salvtables.cxx:4924 AbstractSvxNameDialog_Impl::Execute() cui/source/factory/dlgfact.cxx:222 SvxColorTabPage::ClickAddHdl_Impl(weld::Button&) include/rtl/ref.hxx:192 Change-Id: I12a78d65a8e7b8b728dde84f7c51cc19005c9aa6 Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131353 Tested-by: Jenkins (cherry picked from commit 3d347d1e7835104156ff3cce0b5ea05cefa8ba15) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131588 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/window/window.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index bfab65f2fa8a..bd2b95e44ec8 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3406,7 +3406,8 @@ void Window::ImplCallDeactivateListeners( vcl::Window *pNew )
// #100759#, avoid walking the wrong frame's hierarchy
// eg, undocked docking windows (ImplDockFloatWin)
- if ( ImplGetParent() && mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow )
+ if ( ImplGetParent() && ImplGetParent()->mpWindowImpl &&
+ mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow )
ImplGetParent()->ImplCallDeactivateListeners( pNew );
}
}