compositor: Remove server side cursors

We always expect the clients to set the cursor and attaching a NULL buffer
hides the cursor.  The cursor starts out hidden.
diff --git a/clients/window.c b/clients/window.c
index e4b5d0d..e8e3508 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -1163,52 +1163,44 @@
 	return location;
 }
 
-void
-input_set_pointer_image(struct input *input, uint32_t time, int pointer)
+static int
+input_get_pointer_image_for_location(struct input *input, int pointer)
 {
-	struct display *display = input->display;
-	struct wl_buffer *buffer;
-	cairo_surface_t *surface;
 	int location;
 
 	location = get_pointer_location(input->pointer_focus,
 					input->sx, input->sy);
 	switch (location) {
 	case WINDOW_RESIZING_TOP:
-		pointer = POINTER_TOP;
-		break;
+		return POINTER_TOP;
 	case WINDOW_RESIZING_BOTTOM:
-		pointer = POINTER_BOTTOM;
-		break;
+		return POINTER_BOTTOM;
 	case WINDOW_RESIZING_LEFT:
-		pointer = POINTER_LEFT;
-		break;
+		return POINTER_LEFT;
 	case WINDOW_RESIZING_RIGHT:
-		pointer = POINTER_RIGHT;
-		break;
+		return POINTER_RIGHT;
 	case WINDOW_RESIZING_TOP_LEFT:
-		pointer = POINTER_TOP_LEFT;
-		break;
+		return POINTER_TOP_LEFT;
 	case WINDOW_RESIZING_TOP_RIGHT:
-		pointer = POINTER_TOP_RIGHT;
-		break;
+		return POINTER_TOP_RIGHT;
 	case WINDOW_RESIZING_BOTTOM_LEFT:
-		pointer = POINTER_BOTTOM_LEFT;
-		break;
+		return POINTER_BOTTOM_LEFT;
 	case WINDOW_RESIZING_BOTTOM_RIGHT:
-		pointer = POINTER_BOTTOM_RIGHT;
-		break;
+		return POINTER_BOTTOM_RIGHT;
 	case WINDOW_EXTERIOR:
 	case WINDOW_TITLEBAR:
-		if (input->current_pointer_image == POINTER_DEFAULT)
-			return;
-
-		wl_input_device_attach(input->input_device, time, NULL, 0, 0);
-		input->current_pointer_image = POINTER_DEFAULT;
-		return;
+		return POINTER_LEFT_PTR;
 	default:
-		break;
+		return pointer;
 	}
+}
+
+void
+input_set_pointer_image(struct input *input, uint32_t time, int pointer)
+{
+	struct display *display = input->display;
+	struct wl_buffer *buffer;
+	cairo_surface_t *surface;
 
 	if (pointer == input->current_pointer_image)
 		return;
@@ -1264,6 +1256,7 @@
 						    x, y, sx, sy,
 						    window->user_data);
 
+	pointer = input_get_pointer_image_for_location(input, pointer);
 	input_set_pointer_image(input, time, pointer);
 }
 
@@ -1288,6 +1281,7 @@
 		case WINDOW_TITLEBAR:
 			if (!window->shell_surface)
 				break;
+			input_set_pointer_image(input, time, POINTER_DRAGGING);
 			wl_shell_surface_move(window->shell_surface,
 					      input_device, time);
 			break;
@@ -1399,6 +1393,7 @@
 		item = window_find_item(window, x, y);
 		window_set_focus_item(window, item);
 
+		pointer = input_get_pointer_image_for_location(input, pointer);
 		input_set_pointer_image(input, time, pointer);
 	}
 }