From e5d85ce6629c84b9dad5a9c76bd9f895157c5a74 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Tue, 2 Aug 2011 03:03:48 -0400 Subject: [PATCH] Use find_box_for_y() in pixman_region_contains_point() too The same binary search from the previous commit can be used in this function too. V2: Remove check from loop that is not needed anymore, pointed out by Andrea Canciani. --- pixman/pixman-region.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c index 71995fd..9ff5157 100644 --- a/pixman/pixman-region.c +++ b/pixman/pixman-region.c @@ -2378,13 +2378,13 @@ PREFIX (_contains_point) (region_type_t * region, return(TRUE); } - for (pbox = PIXREGION_BOXPTR (region), pbox_end = pbox + numRects; - pbox != pbox_end; - pbox++) - { - if (y >= pbox->y2) - continue; /* not there yet */ + pbox = PIXREGION_BOXPTR (region); + pbox_end = pbox + numRects; + + pbox = find_box_for_y (pbox, pbox_end, y); + for (;pbox != pbox_end; pbox++) + { if ((y < pbox->y1) || (x < pbox->x1)) break; /* missed it */ -- 2.7.4