Fix pointer position clipping.
diff --git a/src/compositor.c b/src/compositor.c
index a84ac08..3797a71 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1463,10 +1463,10 @@
 	weston_compositor_activity(ec);
 
 	wl_list_for_each(output, &ec->output_list, link) {
-		if (output->x <= x && x <= output->x + output->current->width)
+		if (output->x <= x && x < output->x + output->current->width)
 			x_valid = 1;
 
-		if (output->y <= y && y <= output->y + output->current->height)
+		if (output->y <= y && y < output->y + output->current->height)
 			y_valid = 1;
 
 		/* FIXME: calculate this only on output addition/deletion */
@@ -1476,9 +1476,9 @@
 			min_y = output->y;
 
 		if (output->x + output->current->width > max_x)
-			max_x = output->x + output->current->width;
+			max_x = output->x + output->current->width - 1;
 		if (output->y + output->current->height > max_y)
-			max_y = output->y + output->current->height;
+			max_y = output->y + output->current->height - 1;
 	}
 	
 	if (!x_valid) {