Commit 53e05015 authored by Evan Stade's avatar Evan Stade Committed by Alexandre Julliard

gdi32: Don't access DC in PolyDraw after releasing handle.

parent c60c030c
......@@ -833,18 +833,18 @@ BOOL WINAPI PolyDraw(HDC hdc, const POINT *lppt, const BYTE *lpbTypes,
if(dc->funcs->pPolyDraw)
{
result = dc->funcs->pPolyDraw( dc->physDev, lppt, lpbTypes, cCount );
GDI_ReleaseObj( hdc );
return result;
goto end;
}
GDI_ReleaseObj( hdc );
/* check for each bezierto if there are two more points */
for( i = 0; i < cCount; i++ )
if( lpbTypes[i] != PT_MOVETO &&
lpbTypes[i] & PT_BEZIERTO )
{
if( cCount < i+3 )
return FALSE;
if( cCount < i+3 ){
result = FALSE;
goto end;
}
else
i += 2;
}
......@@ -869,8 +869,10 @@ BOOL WINAPI PolyDraw(HDC hdc, const POINT *lppt, const BYTE *lpbTypes,
PolyBezierTo( hdc, &lppt[i], 3 );
i += 2;
}
else
return FALSE;
else{
result = FALSE;
goto end;
}
if( lpbTypes[i] & PT_CLOSEFIGURE )
{
......@@ -881,7 +883,10 @@ BOOL WINAPI PolyDraw(HDC hdc, const POINT *lppt, const BYTE *lpbTypes,
}
}
return TRUE;
result = TRUE;
end:
GDI_ReleaseObj( hdc );
return result;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment