summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAron Budea <aron.budea@collabora.com>2022-03-24 22:02:17 +0100
committerMiklos Vajna <vmiklos@collabora.com>2022-03-28 08:59:13 +0200
commitc8bfb498ca93b990069d7bcd09cb1240d8c8faee (patch)
tree50faafbdf9b1b4725a208863ec3ad09e44528a07
parentmake default selected table style to Default Table Style for only online (diff)
downloadcore-c8bfb498ca93b990069d7bcd09cb1240d8c8faee.tar.gz
core-c8bfb498ca93b990069d7bcd09cb1240d8c8faee.zip
sc: fix crash in SdrPageView::GetPageWindow()
From crashreport: SIG Fatal signal received: SIGSEGV SdrPageView::GetPageWindow(unsigned int) const svx/source/svdraw/svdpagv.cxx:84 (anonymous namespace)::ScLOKProxyObjectContact::calculateGridOffsetForViewOjectContact(basegfx::B2DVector&, sdr::contact::ViewObjectContact const&) const sc/source/ui/view/gridwin4.cxx:1397 sdr::contact::ViewObjectContact::getGridOffset() const svx/source/sdr/contact/viewobjectcontact.cxx:463 sdr::contact::ViewObjectContact::getPrimitive2DSequence(sdr::contact::DisplayInfo const&) const include/basegfx/tuple/b2dtuple.hxx:81 sdr::contact::ViewObjectContact::getObjectRange() const svx/source/sdr/contact/viewobjectcontact.cxx:198 ScLOKProxyObjectContact::calculateGridOffsetForViewOjectContact() didn't check if PageWindowCount() was non-zero. Change-Id: I4a00b5b13a277d0805af3076150a952306908e53 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132091 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--sc/source/ui/view/gridwin4.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 087f08271a5a..3baf4d0c96a3 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -1394,7 +1394,9 @@ namespace
if (!pPageView)
return;
- SdrPageWindow* pSdrPageWindow = pPageView->GetPageWindow(0);
+ SdrPageWindow* pSdrPageWindow = nullptr;
+ if (pPageView->PageWindowCount() > 0)
+ pSdrPageWindow = pPageView->GetPageWindow(0);
if (!pSdrPageWindow)
return;