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

This sometimes happens after GdipAddPathLine + GdipWidenPath.
oldstable
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 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)
{
bevel_dx = -distance * segment_dy / segment_length;