1
0
Fork 0

backends: Restore support for loading X11 cursor themes missing "default"

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3184
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3718>
(cherry picked from commit d2c6b77059)
This commit is contained in:
Daniel van Vugt 2024-04-23 15:38:13 +08:00 committed by Jonas Ådahl
parent f744efe347
commit d2d98a850c
2 changed files with 13 additions and 5 deletions

View file

@ -173,16 +173,18 @@ load_cursor_on_client (MetaCursor cursor,
{
XcursorImages *xcursor_images;
int fallback_size, i;
/* Set a 'default' fallback */
MetaCursor cursors[] = { cursor, META_CURSOR_DEFAULT };
const char *cursor_names[2];
if (cursor == META_CURSOR_BLANK)
return create_blank_cursor_images ();
for (i = 0; i < G_N_ELEMENTS (cursors); i++)
cursor_names[0] = meta_cursor_get_name (cursor);
cursor_names[1] = meta_cursor_get_legacy_name (cursor);
for (i = 0; i < G_N_ELEMENTS (cursor_names); i++)
{
xcursor_images =
XcursorLibraryLoadImages (meta_cursor_get_name (cursors[i]),
XcursorLibraryLoadImages (cursor_names[i],
meta_prefs_get_cursor_theme (),
meta_prefs_get_cursor_size () * scale);
if (xcursor_images)

View file

@ -71,10 +71,16 @@ static Cursor
create_x_cursor (Display *xdisplay,
MetaCursor cursor)
{
Cursor result;
if (cursor == META_CURSOR_BLANK)
return create_blank_cursor (xdisplay);
return XcursorLibraryLoadCursor (xdisplay, meta_cursor_get_name (cursor));
result = XcursorLibraryLoadCursor (xdisplay, meta_cursor_get_name (cursor));
if (!result)
result = XcursorLibraryLoadCursor (xdisplay, meta_cursor_get_legacy_name (cursor));
return result;
}
static gboolean