Henri Verbeet : d2d1: Only test figures that overlap the probe in d2d_path_geometry_point_inside ().

Alexandre Julliard julliard at wine.codeweavers.com
Thu Oct 8 09:20:59 CDT 2015


Module: wine
Branch: master
Commit: e6da1a780e0ae88588a917545caa44165a7cf66e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e6da1a780e0ae88588a917545caa44165a7cf66e

Author: Henri Verbeet <hverbeet at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)
         {




More information about the wine-cvs mailing list