sd/source/ui/unoidl/unomodel.cxx | 5 +++++ 1 file changed, 5 insertions(+)
New commits: commit 79f08a9c2c001721019ad5a1957113c516a4f354 Author: Miklos Vajna <[email protected]> AuthorDate: Fri Nov 21 09:28:13 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Mon Nov 24 11:44:04 2025 +0100 sd: fix crash in SdXImpressDocument::postMouseEvent() gdb trace on the core file: #0 0x0000774df1e04d9d in SdrPageView::GetPage (this=0x0) at include/svx/svdpagv.hxx:167 #1 SdXImpressDocument::postMouseEvent (this=<optimized out>, nType=2, nX=<optimized out>, nY=<optimized out>, nCount=1, nButtons=0, nModifier=0) at sd/source/ui/unoidl/unomodel.cxx:4370 #2 0x0000774e00fbec12 in doc_postMouseEvent (pThis=0x3cd69250, nType=2, nX=-180, nY=2220, nCount=1, nButtons=0, nModifier=0) at desktop/source/lib/init.cxx:5661 #3 0x000000000058ab29 in lok::Document::postMouseEvent (nModifier=0, nButtons=0, nCount=<optimized out>, nY=<optimized out>, nX=<optimized out>, nType=<optimized out>, this=<optimized out>) at include/LibreOfficeKit/LibreOfficeKit.hxx:297 Handle it similar to the nullptr sd Window just a bit later. Change-Id: I7a6e7dfc6971f266e1205ee3b92eb1ed5bae1025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194339 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins (cherry picked from commit 2eee4d959840b100b193792e2c8d072254ad78b9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194419 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index 7a65a95b4cee..63ebe26db5cd 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -4332,6 +4332,11 @@ void SdXImpressDocument::postMouseEvent(int nType, int nX, int nY, int nCount, i const Point aPointHMM = o3tl::convert(aPointTwip, o3tl::Length::twip, o3tl::Length::mm100); SdrView* pDrawView = pViewShell->GetDrawView(); SdrPageView* pPageView = pDrawView->GetSdrPageView(); + if (!pPageView) + { + return; + } + SdrPage* pPage = pPageView->GetPage(); ::sd::Window* pActiveWin = pViewShell->GetActiveWindow(); if (!pActiveWin)
