vcl/source/window/dialog.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit cd89a75a9792b968c7d91fcd2777d4db21bde44f Author: Miklos Vajna <[email protected]> AuthorDate: Thu Feb 12 10:03:58 2026 +0100 Commit: Miklos Vajna <[email protected]> CommitDate: Thu Feb 12 10:37:11 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/+/199125 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 989b95cf5cd1..758b3b0ee4ed 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -400,7 +400,7 @@ void Dialog::ImplInitDialogData() void Dialog::PixelInvalidate(const tools::Rectangle* pRectangle) { - if (!mpDialogImpl->m_bLOKTunneling) + if (!mpDialogImpl || !mpDialogImpl->m_bLOKTunneling) return; Window::PixelInvalidate(pRectangle);
