Merge pull request #477 from acrisci/bug/xcursor-fixes

rootston xcursor fixes
This commit is contained in:
Drew DeVault 2017-12-09 13:46:27 -05:00 committed by GitHub
commit b1b1533d94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 13 deletions

View file

@ -6,7 +6,6 @@
#include <wlr/types/wlr_output_layout.h> #include <wlr/types/wlr_output_layout.h>
#include <wlr/types/wlr_compositor.h> #include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_wl_shell.h> #include <wlr/types/wlr_wl_shell.h>
#include <wlr/types/wlr_xcursor_manager.h>
#include <wlr/types/wlr_xdg_shell_v6.h> #include <wlr/types/wlr_xdg_shell_v6.h>
#include <wlr/render/matrix.h> #include <wlr/render/matrix.h>
#include <wlr/util/log.h> #include <wlr/util/log.h>
@ -324,12 +323,6 @@ void output_add_notify(struct wl_listener *listener, void *data) {
struct roots_seat *seat; struct roots_seat *seat;
wl_list_for_each(seat, &input->seats, link) { 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_cursor(seat);
roots_seat_configure_xcursor(seat); roots_seat_configure_xcursor(seat);
} }

View file

@ -444,6 +444,7 @@ void roots_seat_configure_xcursor(struct roots_seat *seat) {
cursor_theme = cc->theme; cursor_theme = cc->theme;
} }
if (!seat->cursor->xcursor_manager) {
seat->cursor->xcursor_manager = seat->cursor->xcursor_manager =
wlr_xcursor_manager_create(cursor_theme, ROOTS_XCURSOR_SIZE); wlr_xcursor_manager_create(cursor_theme, ROOTS_XCURSOR_SIZE);
if (seat->cursor->xcursor_manager == NULL) { if (seat->cursor->xcursor_manager == NULL) {
@ -451,6 +452,7 @@ void roots_seat_configure_xcursor(struct roots_seat *seat) {
cursor_theme); cursor_theme);
return; return;
} }
}
struct roots_output *output; struct roots_output *output;
wl_list_for_each(output, &seat->input->server->desktop->outputs, link) { wl_list_for_each(output, &seat->input->server->desktop->outputs, link) {