From 12b60f0fc1171b61f67b1acd4160ca06e13f0898 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Fri, 3 Nov 2017 08:22:02 +0100 Subject: Don't use infinite rectangle for tile area as this leads to overflow/underflow problems later. --- src/display/nr-filter-tile.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/display/nr-filter-tile.cpp b/src/display/nr-filter-tile.cpp index c151c8537..ad4e64768 100644 --- a/src/display/nr-filter-tile.cpp +++ b/src/display/nr-filter-tile.cpp @@ -114,8 +114,11 @@ void FilterTile::render_cairo(FilterSlot &slot) void FilterTile::area_enlarge(Geom::IntRect &area, Geom::Affine const &trans) { - // Set to infinite rectangle so we get tile source. It will be clipped later. - area = Geom::IntRect::infinite(); + // Set to very large rectangle so we get tile source. It will be clipped later. + + // Note, setting to infinite using Geom::IntRect::infinite() causes overflow/underflow problems. + Geom::IntCoord max = std::numeric_limits::max()/4; + area = Geom::IntRect(-max,-max,max,max); } double FilterTile::complexity(Geom::Affine const &) -- cgit v1.2.3