bf231a2
From 6433a64f4cd41e88499386b0b7c7ae05d30683b8 Mon Sep 17 00:00:00 2001
bf231a2
From: Tom Hughes <tom@compton.nu>
bf231a2
Date: Sat, 22 Jun 2013 12:33:32 +0100
bf231a2
Subject: [PATCH 14/15] Avoid potential zero division resulting in nan in
bf231a2
 agg::gamma_linear
bf231a2
bf231a2
---
bf231a2
 include/agg_gamma_functions.h | 6 +++++-
bf231a2
 1 file changed, 5 insertions(+), 1 deletion(-)
bf231a2
bf231a2
diff --git a/include/agg_gamma_functions.h b/include/agg_gamma_functions.h
bf231a2
index fa38a45..beb0c04 100644
bf231a2
--- a/include/agg_gamma_functions.h
bf231a2
+++ b/include/agg_gamma_functions.h
bf231a2
@@ -94,7 +94,11 @@ namespace agg
bf231a2
         {
bf231a2
             if(x < m_start) return 0.0;
bf231a2
             if(x > m_end) return 1.0;
bf231a2
-            return (x - m_start) / (m_end - m_start);
bf231a2
+            double delta = m_end - m_start;
bf231a2
+            // avoid nan from potential zero division
bf231a2
+            // https://github.com/mapnik/mapnik/issues/761
bf231a2
+            if (delta <= 0.0) return 0.0;
bf231a2
+            return (x - m_start) / delta;
bf231a2
         }
bf231a2
 
bf231a2
     private:
bf231a2
-- 
bf231a2
1.8.1.4
bf231a2