diff --git a/rootston/output.c b/rootston/output.c index aace1991..cf2ffdc3 100644 --- a/rootston/output.c +++ b/rootston/output.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include @@ -324,12 +323,6 @@ void output_add_notify(struct wl_listener *listener, void *data) { struct roots_seat *seat; wl_list_for_each(seat, &input->seats, link) { - if (wlr_xcursor_manager_load(seat->cursor->xcursor_manager, - wlr_output->scale)) { - wlr_log(L_ERROR, "Cannot load xcursor theme for output '%s' " - "with scale %d", wlr_output->name, wlr_output->scale); - } - roots_seat_configure_cursor(seat); roots_seat_configure_xcursor(seat); } diff --git a/rootston/seat.c b/rootston/seat.c index 1fa09ad6..cb245ca8 100644 --- a/rootston/seat.c +++ b/rootston/seat.c @@ -444,12 +444,14 @@ void roots_seat_configure_xcursor(struct roots_seat *seat) { cursor_theme = cc->theme; } - seat->cursor->xcursor_manager = - wlr_xcursor_manager_create(cursor_theme, ROOTS_XCURSOR_SIZE); - if (seat->cursor->xcursor_manager == NULL) { - wlr_log(L_ERROR, "Cannot create XCursor manager for theme %s", - cursor_theme); - return; + if (!seat->cursor->xcursor_manager) { + seat->cursor->xcursor_manager = + wlr_xcursor_manager_create(cursor_theme, ROOTS_XCURSOR_SIZE); + if (seat->cursor->xcursor_manager == NULL) { + wlr_log(L_ERROR, "Cannot create XCursor manager for theme %s", + cursor_theme); + return; + } } struct roots_output *output;