tdf#139002 dont hang opening pathological SVGs

This is a workaround, but
(a) this contains several pathological SVGs, which have
clearly been very badly created eg. an svg path with 2699660320
elements.
(b) the diagrams all look fine to me, so clearly the winding-rule
change is not that critical in this case

Change-Id: I48aac512e2de2ae4e63a4d1816c3d4d5901b3bf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110242
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/basegfx/source/polygon/b2dpolypolygoncutter.cxx b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
index e5094c7..f314fcb 100644
--- a/basegfx/source/polygon/b2dpolypolygoncutter.cxx
+++ b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
@@ -27,6 +27,7 @@
#include <basegfx/range/b2drange.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <basegfx/curve/b2dcubicbezier.hxx>
#include <sal/log.hxx>
#include <vector>
#include <algorithm>

@@ -721,6 +722,12 @@ namespace basegfx::utils

        B2DPolyPolygon createNonzeroConform(const B2DPolyPolygon& rCandidate)
        {
            if (rCandidate.count() > 1000)
            {
                SAL_WARN("basegfx", "this poly is too large, " << rCandidate.count() << " elements, to be able to process timeously, falling back to ignoring the winding rule, which is likely to cause rendering artifacts");
                return rCandidate;
            }

            B2DPolyPolygon aCandidate;

            // remove all self-intersections and intersections