Default to default cursor if cursor not found

This commit is contained in:
dec05eba
2025-01-27 11:53:49 +01:00
parent 3cb156aecb
commit d73bd68a70
2 changed files with 15 additions and 2 deletions

View File

@@ -772,9 +772,19 @@ namespace gsr {
if(cursor_size <= 1)
cursor_size = 24;
XcursorImage *cursor_image = XcursorShapeLoadImage(XC_left_ptr, cursor_theme, cursor_size);
XcursorImage *cursor_image = nullptr;
for(const char *cursor_theme_test : {cursor_theme, "default"}) {
for(unsigned int shape : {XC_left_ptr, XC_right_ptr}) {
cursor_image = XcursorShapeLoadImage(shape, cursor_theme_test, cursor_size);
if(cursor_image)
break;
}
}
if(!cursor_image) {
fprintf(stderr, "Error: failed to get cursor\n");
XFixesShowCursor(xi_display, DefaultRootWindow(xi_display));
XFlush(xi_display);
return;
}