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>
(cherry picked from commit ffe8e495d7)
r14.0.x
Michele Calgaro 4 years ago
parent 1f77e1ff6e
commit 050589bc4f
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -747,7 +747,14 @@ public:
d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); 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) if(sfactor_sq < 0)
sfactor_sq = 0; sfactor_sq = 0;
@ -770,7 +777,7 @@ public:
else if(th_arc > 0 && !sweepFlag) else if(th_arc > 0 && !sweepFlag)
th_arc -= 2 * M_PI; 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++) for(i = 0; i < n_segs; i++)
{ {

Loading…
Cancel
Save