diff options
author | 2023-07-07 19:38:02 -0400 | |
---|---|---|
committer | 2023-07-08 09:36:50 +0200 | |
commit | 92244c87dbb85080c99eee10db9fed906117e169 (patch) | |
tree | 7a82397a2cb757da5d6a9aa19f5b58f34f2e0559 | |
parent | swaybar: don't set current workspace as not visible (diff) | |
download | sway-92244c87dbb85080c99eee10db9fed906117e169.tar.gz sway-92244c87dbb85080c99eee10db9fed906117e169.tar.zst sway-92244c87dbb85080c99eee10db9fed906117e169.zip |
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.
-rw-r--r-- | swaybar/input.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/swaybar/input.c b/swaybar/input.c index 358c69cb..1e6ace00 100644 --- a/swaybar/input.c +++ b/swaybar/input.c | |||
@@ -81,8 +81,16 @@ void update_cursor(struct swaybar_seat *seat) { | |||
81 | int scale = pointer->current ? pointer->current->scale : 1; | 81 | int scale = pointer->current ? pointer->current->scale : 1; |
82 | pointer->cursor_theme = wl_cursor_theme_load( | 82 | pointer->cursor_theme = wl_cursor_theme_load( |
83 | cursor_theme, cursor_size * scale, seat->bar->shm); | 83 | cursor_theme, cursor_size * scale, seat->bar->shm); |
84 | if (!pointer->cursor_theme) { | ||
85 | sway_log(SWAY_ERROR, "Failed to load cursor theme"); | ||
86 | return; | ||
87 | } | ||
84 | struct wl_cursor *cursor; | 88 | struct wl_cursor *cursor; |
85 | cursor = wl_cursor_theme_get_cursor(pointer->cursor_theme, "default"); | 89 | cursor = wl_cursor_theme_get_cursor(pointer->cursor_theme, "default"); |
90 | if (!cursor) { | ||
91 | sway_log(SWAY_ERROR, "Failed to get default cursor from theme"); | ||
92 | return; | ||
93 | } | ||
86 | pointer->cursor_image = cursor->images[0]; | 94 | pointer->cursor_image = cursor->images[0]; |
87 | wl_surface_set_buffer_scale(pointer->cursor_surface, scale); | 95 | wl_surface_set_buffer_scale(pointer->cursor_surface, scale); |
88 | wl_surface_attach(pointer->cursor_surface, | 96 | wl_surface_attach(pointer->cursor_surface, |