mirror of
https://github.com/swaywm/sway.git
synced 2024-11-22 07:51:28 +00:00
swaybar: handle wayland-cursor failures
Updating the cursor is not essential, so this change prints a warning when wl_cursor_theme_load or wl_cursor_theme_get_cursor fail instead of crashing or exiting.
This commit is contained in:
parent
20ffe545ba
commit
92244c87db
|
@ -81,8 +81,16 @@ void update_cursor(struct swaybar_seat *seat) {
|
||||||
int scale = pointer->current ? pointer->current->scale : 1;
|
int scale = pointer->current ? pointer->current->scale : 1;
|
||||||
pointer->cursor_theme = wl_cursor_theme_load(
|
pointer->cursor_theme = wl_cursor_theme_load(
|
||||||
cursor_theme, cursor_size * scale, seat->bar->shm);
|
cursor_theme, cursor_size * scale, seat->bar->shm);
|
||||||
|
if (!pointer->cursor_theme) {
|
||||||
|
sway_log(SWAY_ERROR, "Failed to load cursor theme");
|
||||||
|
return;
|
||||||
|
}
|
||||||
struct wl_cursor *cursor;
|
struct wl_cursor *cursor;
|
||||||
cursor = wl_cursor_theme_get_cursor(pointer->cursor_theme, "default");
|
cursor = wl_cursor_theme_get_cursor(pointer->cursor_theme, "default");
|
||||||
|
if (!cursor) {
|
||||||
|
sway_log(SWAY_ERROR, "Failed to get default cursor from theme");
|
||||||
|
return;
|
||||||
|
}
|
||||||
pointer->cursor_image = cursor->images[0];
|
pointer->cursor_image = cursor->images[0];
|
||||||
wl_surface_set_buffer_scale(pointer->cursor_surface, scale);
|
wl_surface_set_buffer_scale(pointer->cursor_surface, scale);
|
||||||
wl_surface_attach(pointer->cursor_surface,
|
wl_surface_attach(pointer->cursor_surface,
|
||||||
|
|
Loading…
Reference in a new issue