Commit: 2820f7be7637e0a4f7edb60f235a876bdc6f0360 Author: Campbell Barton Date: Thu Sep 3 12:37:24 2020 +1000 Branches: master https://developer.blender.org/rB2820f7be7637e0a4f7edb60f235a876bdc6f0360
Fix T80340: Crash with an empty text with Text on Curve Avoid divide by zero, based on D8780 by @lichtwerk. =================================================================== M source/blender/blenkernel/intern/font.c =================================================================== diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c index bb1bf8a98c5..6eaa79d5062 100644 --- a/source/blender/blenkernel/intern/font.c +++ b/source/blender/blenkernel/intern/font.c @@ -1273,7 +1273,13 @@ static bool vfont_to_curve(Object *ob, /* We put the x-coordinate exact at the curve, the y is rotated. */ /* length correction */ - distfac = sizefac * cu->textoncurve->runtime.curve_cache->path->totdist / (maxx - minx); + float chartrans_size_x = maxx - minx; + if (UNLIKELY(chartrans_size_x == 0.0f)) { + /* Happens when there are no characters, + * the result isn't useful in this case, just avoid divide by zero. */ + chartrans_size_x = 1.0f; + } + distfac = sizefac * cu->textoncurve->runtime.curve_cache->path->totdist / chartrans_size_x; timeofs = 0.0f; if (distfac > 1.0f) { @@ -1294,7 +1300,7 @@ static bool vfont_to_curve(Object *ob, distfac = 1.0; } - distfac /= (maxx - minx); + distfac /= chartrans_size_x; timeofs += distfac * cu->xof; /* not cyclic */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs