compositor: restructure weston_compositor_pick_view()

Expand weston_compositor_pick_view() so it is easier to read. Use
short-hand variables, that make it easier to add one more test in the
future.

Write the output coordinate pointers only when returning non-NULL.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
diff --git a/src/compositor.c b/src/compositor.c
index 46e3756..269d485 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1543,18 +1543,27 @@
 			    wl_fixed_t *vx, wl_fixed_t *vy)
 {
 	struct weston_view *view;
-        int ix = wl_fixed_to_int(x);
-        int iy = wl_fixed_to_int(y);
+	wl_fixed_t view_x, view_y;
+	int view_ix, view_iy;
+	int ix = wl_fixed_to_int(x);
+	int iy = wl_fixed_to_int(y);
 
 	wl_list_for_each(view, &compositor->view_list, link) {
-		weston_view_from_global_fixed(view, x, y, vx, vy);
-		if (pixman_region32_contains_point(
-			&view->transform.boundingbox, ix, iy, NULL) &&
-		    pixman_region32_contains_point(&view->surface->input,
-						   wl_fixed_to_int(*vx),
-						   wl_fixed_to_int(*vy),
-						   NULL))
-			return view;
+		if (!pixman_region32_contains_point(
+				&view->transform.boundingbox, ix, iy, NULL))
+			continue;
+
+		weston_view_from_global_fixed(view, x, y, &view_x, &view_y);
+		view_ix = wl_fixed_to_int(view_x);
+		view_iy = wl_fixed_to_int(view_y);
+
+		if (!pixman_region32_contains_point(&view->surface->input,
+						    view_ix, view_iy, NULL))
+			continue;
+
+		*vx = view_x;
+		*vy = view_y;
+		return view;
 	}
 
 	return NULL;