diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-01-26 15:33:40 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-01-26 15:37:22 +0000 |
commit | 38b362c58abd0df654665956ffc751d40cfb67ab (patch) | |
tree | 3b77bb1aadf633589e23a8b148ebe7be32067cde | |
parent | 53e693ccfb19aa653ab2b5762c10ae87c9320954 (diff) |
Resolves: tdf#97276 don't clip out line if the underlying page size is unknown
Change-Id: I77d88d8020e9ac26bd6b7277e6d8afefed5e3ee7
(cherry picked from commit ad99c633908f7c70d06812ebfb4e0696666f0158)
-rw-r--r-- | svx/source/sdr/contact/viewcontactofsdrpathobj.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx b/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx index b86a9f4bf78b..481ab6777a5b 100644 --- a/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx +++ b/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx @@ -91,15 +91,17 @@ namespace sdr if(bIsLine) { const SdrPage* pPage = GetPathObj().GetPage(); - if (pPage) + double fPageWidth = pPage ? pPage->GetWdt() : 0.0; + double fPageHeight = pPage ? pPage->GetHgt() : 0.0; + if (fPageWidth && fPageHeight) { //tdf#63955 if we have an extremely long line then clip it //to a very generous range of -1 page width/height vs +1 //page width/height to avoid oom and massive churn //generating a huge polygon chain to cover the length in //applyLineDashing if this line is dashed - double fPageWidth = pPage->GetWdt(); - double fPageHeight = pPage->GetHgt(); + //tdf#97276 don't clip if the underlying page dimension + //is unknown basegfx::B2DRange aClipRange(-fPageWidth, -fPageHeight, fPageWidth*2, fPageHeight*2); aUnitPolyPolygon = basegfx::tools::clipPolyPolygonOnRange(aUnitPolyPolygon, |