diff --git a/include/sway/input/cursor.h b/include/sway/input/cursor.h index 03cb8b83..5dd109ca 100644 --- a/include/sway/input/cursor.h +++ b/include/sway/input/cursor.h @@ -6,7 +6,9 @@ struct sway_cursor { struct sway_seat *seat; struct wlr_cursor *cursor; - struct cursor_position *previous; + struct { + double x, y; + } previous; struct wlr_xcursor_manager *xcursor_manager; struct wl_client *image_client; @@ -28,10 +30,6 @@ struct sway_cursor { struct wl_listener request_set_cursor; }; -struct cursor_position { - double x, y; -}; - void sway_cursor_destroy(struct sway_cursor *cursor); struct sway_cursor *sway_cursor_create(struct sway_seat *seat); void cursor_send_pointer_motion(struct sway_cursor *cursor, uint32_t time_msec, diff --git a/sway/input/cursor.c b/sway/input/cursor.c index 1fa5be34..3e8fd5d8 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -147,10 +147,10 @@ void cursor_send_pointer_motion(struct sway_cursor *cursor, uint32_t time_msec, // Find the container the pointer was previously over struct sway_container *prev_c = container_at_coords(cursor->seat, - cursor->previous->x, cursor->previous->y, &surface, &sx, &sy); + cursor->previous.x, cursor->previous.y, &surface, &sx, &sy); // Update the stored previous position - cursor->previous->x = cursor->cursor->x; - cursor->previous->y = cursor->cursor->y; + cursor->previous.x = cursor->cursor->x; + cursor->previous.y = cursor->cursor->y; struct sway_container *c = container_at_coords(cursor->seat, cursor->cursor->x, cursor->cursor->y, &surface, &sx, &sy); @@ -476,15 +476,8 @@ struct sway_cursor *sway_cursor_create(struct sway_seat *seat) { return NULL; } - struct cursor_position *previous = calloc(1, sizeof(struct cursor_position)); - if (!sway_assert(previous, "could not allocate sway cursor position")) { - free(cursor); - return NULL; - } - struct wlr_cursor *wlr_cursor = wlr_cursor_create(); if (!sway_assert(wlr_cursor, "could not allocate wlr cursor")) { - free(previous); free(cursor); return NULL; } @@ -535,7 +528,6 @@ struct sway_cursor *sway_cursor_create(struct sway_seat *seat) { cursor->request_set_cursor.notify = handle_request_set_cursor; cursor->cursor = wlr_cursor; - cursor->previous = previous; return cursor; }