vcl/source/window/dialog.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 3cfe453c89bcbcb1ef6c36f0961ae1400061f029 Author: Miklos Vajna <[email protected]> AuthorDate: Thu Feb 12 10:03:58 2026 +0100 Commit: Miklos Vajna <[email protected]> CommitDate: Thu Feb 12 18:31:18 2026 +0100 vcl: fix crash in Dialog::PixelInvalidate() gdb backtrace on the crashreport core dump: #0 0x000076a39e91a0fb in Dialog::PixelInvalidate (this=0x38b519c0, pRectangle=0x7ffc82c86cf0) at vcl/source/window/dialog.cxx:403 #1 0x000076a39e8db071 in vcl::Window::PixelInvalidate (this=0x388b1b50, pRectangle=<optimized out>) at include/rtl/ref.hxx:203 #2 0x000076a39e9adcb3 in vcl::Window::queue_resize (this=0x388b1b50, eReason=<optimized out>) at vcl/source/window/window2.cxx:1453 #3 0x000076a39e9ac0e0 in vcl::(anonymous namespace)::queue_ungrouped_resize (pOrigWindow=pOrigWindow@entry=0x38b50a30) at vcl/source/window/window2.cxx:1389 Seeing that Dialog::dispose() can reset mpDialogImpl, check for the case when mpDialogImpl is nullptr in Dialog::PixelInvalidate(). Change-Id: I752f792291abac9af657e58b3257b55cca011ca3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199272 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 6fb54332b2c8..f0e190318120 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -404,7 +404,7 @@ void Dialog::ImplInitDialogData() void Dialog::PixelInvalidate(const tools::Rectangle* pRectangle) { - if (!mpDialogImpl->m_bLOKTunneling) + if (!mpDialogImpl || !mpDialogImpl->m_bLOKTunneling) return; Window::PixelInvalidate(pRectangle);
