File kdelibs-trinity-svg.patch of Package kdelibs3

From ffe8e495d7e99cc2e235a5f5ac776b72a31627ff Mon Sep 17 00:00:00 2001
From: Michele Calgaro <michele.calgaro@yahoo.it>
Date: Mon, 6 Jul 2020 12:13:49 +0900
Subject: Fixed handling of svg images that caused an infinite loop (most
 notably Kicker was hanging with 100% CPU usage).

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
---
 tdecore/svgicons/ksvgiconpainter.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/kdecore/svgicons/ksvgiconpainter.cpp b/kdecore/svgicons/ksvgiconpainter.cpp
index ca781db1..122c8432 100644
--- a/kdecore/svgicons/ksvgiconpainter.cpp
+++ b/kdecore/svgicons/ksvgiconpainter.cpp
@@ -747,7 +747,14 @@ public:
 
 		d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);
 
-		sfactor_sq = 1.0 / d - 0.25;
+		if (d)
+		{
+		  sfactor_sq = 1.0 / d - 0.25;
+		}
+		else
+		{
+		  sfactor_sq = 0;
+		}
 
 		if(sfactor_sq < 0)
 			sfactor_sq = 0;
@@ -770,7 +777,7 @@ public:
 		else if(th_arc > 0 && !sweepFlag)
 			th_arc -= 2 * M_PI;
 
-		n_segs = (int) (int) ceil(fabs(th_arc / (M_PI * 0.5 + 0.001)));
+		n_segs = (int) ceil(fabs(th_arc / (M_PI * 0.5 + 0.001)));
 
 		for(i = 0; i < n_segs; i++)
 		{
-- 
cgit v1.2.1

openSUSE Build Service is sponsored by