tools/source/generic/poly.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit a9582c05f854cad02710178ab7fa79498573269e Author: Jürgen Schmidt <j...@apache.org> Date: Fri Mar 28 10:52:29 2014 +0000 Resolves: #i124453# check if the resulting polygon... has already exceeded the number of points (2^16) that can be handled by a tools polygon (cherry picked from commit 804e547d70552fd64e1344d538427f8898824b43) Change-Id: I437a84493e264f7b650561599170e831da20c9aa diff --git a/tools/source/generic/poly.cxx b/tools/source/generic/poly.cxx index 180b67a..0c04fc5 100644 --- a/tools/source/generic/poly.cxx +++ b/tools/source/generic/poly.cxx @@ -881,6 +881,19 @@ void Polygon::AdaptiveSubdivide( Polygon& rResult, const double d ) const } *aPointIter++ = mpImplPolygon->mpPointAry[ i++ ]; + + if (aPoints.size() >= SAL_MAX_UINT16) + { + OSL_ENSURE(aPoints.size() < SAL_MAX_UINT16, + "Polygon::AdapativeSubdivision created polygon too many points;" + " using original polygon instead"); + + // The resulting polygon can not hold all the points + // that we have created so far. Stop the subdivision + // and return a copy of the unmodified polygon. + rResult = *this; + return; + } } // fill result polygon
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits