aboutsummaryrefslogtreecommitdiffstats
path: root/swaybar
diff options
context:
space:
mode:
authorLibravatar Manuel Stoeckl <code@mstoeckl.com>2023-07-07 19:38:02 -0400
committerLibravatar Simon Ser <contact@emersion.fr>2023-07-08 09:36:50 +0200
commit92244c87dbb85080c99eee10db9fed906117e169 (patch)
tree7a82397a2cb757da5d6a9aa19f5b58f34f2e0559 /swaybar
parentswaybar: don't set current workspace as not visible (diff)
downloadsway-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.
Diffstat (limited to 'swaybar')
-rw-r--r--swaybar/input.c8
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,