Henri Verbeet : d2d1: Only test figures that overlap the probe in d2d_path_geometry_point_inside ().
Module: wine Branch: master Commit: e6da1a780e0ae88588a917545caa44165a7cf66e URL: http://source.winehq.org/git/wine.git/?a=commit;h=e6da1a780e0ae88588a917545c... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Wed Oct 7 17:56:01 2015 +0200 d2d1: Only test figures that overlap the probe in d2d_path_geometry_point_inside(). Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/d2d1/geometry.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c index 4c66239..b6a11f7 100644 --- a/dlls/d2d1/geometry.c +++ b/dlls/d2d1/geometry.c @@ -1170,6 +1170,10 @@ static BOOL d2d_path_geometry_point_inside(const struct d2d_geometry *geometry, { const struct d2d_figure *figure = &geometry->u.path.figures[i]; + if (probe->x < figure->bounds.left || probe->x > figure->bounds.right + || probe->y < figure->bounds.top || probe->y > figure->bounds.bottom) + continue; + p0 = &figure->vertices[figure->vertex_count - 1]; for (j = 0; j < figure->vertex_count; p0 = p1, ++j) {
participants (1)
-
Alexandre Julliard