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:34:08 +0000 |
commit | ad99c633908f7c70d06812ebfb4e0696666f0158 (patch) | |
tree | 627266663952c65baf6923624fb833474c41964a /svx/source/sdr | |
parent | 02e69f0c3acec2c2e81692bc53c4356591a84ba5 (diff) |
Resolves: tdf#97276 don't clip out line if the underlying page size is unknown
Change-Id: I77d88d8020e9ac26bd6b7277e6d8afefed5e3ee7
Diffstat (limited to 'svx/source/sdr')
-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 9666db142973..358d5de18310 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, |