summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-03-11 16:15:16 +0000
committerDavid Tardon <dtardon@redhat.com>2016-03-15 12:35:38 +0000
commit93772371096b4caf542146e673a44d8d346a09ab (patch)
tree4b08151189f4d24614a22806235f10f8956796b1
parent416843f69cf62d2f01e2a25f03bda0fdec949cb8 (diff)
Resolves: tdf#94392 huge negative Y causes length exception
because this rendering stuff is deleted in later versions of LibreOffice and replaced with cairo rendering, just bodge this case to give up and go home. Change-Id: I4e60184b0919dc719edfe223ebb2d8ef684608e8 Reviewed-on: https://gerrit.libreoffice.org/23154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
-rw-r--r--include/basebmp/polypolygonrenderer.hxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/basebmp/polypolygonrenderer.hxx b/include/basebmp/polypolygonrenderer.hxx
index 88963ae0be9f..3f653658e722 100644
--- a/include/basebmp/polypolygonrenderer.hxx
+++ b/include/basebmp/polypolygonrenderer.hxx
@@ -161,7 +161,14 @@ namespace basebmp
return; // really, nothing to do then.
detail::VectorOfVectorOfVertices aGET; // the Global Edge Table
- aGET.resize( nMaxY - nMinY + 1 );
+ try
+ {
+ aGET.resize( nMaxY - nMinY + 1 );
+ }
+ catch (...)
+ {
+ return;
+ }
sal_uInt32 const nVertexCount(
detail::setupGlobalEdgeTable( aGET, rPoly, nMinY ) );