gdiplus: Avoid a devision by zero when a being added segment length is 0.

This sometimes happens after GdipAddPathLine + GdipWidenPath.
This commit is contained in:
Dmitry Timoshkov 2013-02-18 17:32:12 +08:00 committed by Alexandre Julliard
parent 9bcd1cdd31
commit 22a7458a3f
1 changed files with 7 additions and 0 deletions

View File

@ -1702,6 +1702,13 @@ static void add_bevel_point(const GpPointF *endpoint, const GpPointF *nextpoint,
REAL distance = pen->width/2.0; REAL distance = pen->width/2.0;
REAL bevel_dx, bevel_dy; REAL bevel_dx, bevel_dy;
if (segment_length == 0.0)
{
*last_point = add_path_list_node(*last_point, endpoint->X,
endpoint->Y, PathPointTypeLine);
return;
}
if (right_side) if (right_side)
{ {
bevel_dx = -distance * segment_dy / segment_length; bevel_dx = -distance * segment_dy / segment_length;