cursor-sprite: Get Backend from cursor tracker

Instead of going through the global ClutterBackend

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4201>
This commit is contained in:
Bilal Elmoussaoui
2025-01-10 15:33:03 +01:00
committed by Marge Bot
parent d908984d68
commit 5a2ef3ca4b
3 changed files with 16 additions and 1 deletions

View File

@ -209,6 +209,10 @@ static void
load_from_current_xcursor_image (MetaCursorSpriteXcursor *sprite_xcursor)
{
MetaCursorSprite *sprite = META_CURSOR_SPRITE (sprite_xcursor);
MetaCursorTracker *cursor_tracker =
meta_cursor_sprite_get_cursor_tracker (sprite);
MetaBackend *backend =
meta_cursor_tracker_get_backend (cursor_tracker);
XcursorImage *xc_image;
int width, height, rowstride;
CoglPixelFormat cogl_format;
@ -231,7 +235,7 @@ load_from_current_xcursor_image (MetaCursorSpriteXcursor *sprite_xcursor)
cogl_format = COGL_PIXEL_FORMAT_ARGB_8888_PRE;
#endif
clutter_backend = clutter_get_default_backend ();
clutter_backend = meta_backend_get_clutter_backend (backend);
cogl_context = clutter_backend_get_cogl_context (clutter_backend);
texture = cogl_texture_2d_new_from_data (cogl_context,
width, height,

View File

@ -454,3 +454,12 @@ meta_cursor_sprite_get_color_state (MetaCursorSprite *sprite)
return priv->color_state;
}
MetaCursorTracker *
meta_cursor_sprite_get_cursor_tracker (MetaCursorSprite *sprite)
{
MetaCursorSpritePrivate *priv =
meta_cursor_sprite_get_instance_private (sprite);
return priv->cursor_tracker;
}

View File

@ -113,3 +113,5 @@ void meta_cursor_sprite_tick_frame (MetaCursorSprite *sprite);
unsigned int meta_cursor_sprite_get_current_frame_time (MetaCursorSprite *sprite);
ClutterColorState * meta_cursor_sprite_get_color_state (MetaCursorSprite *sprite);
MetaCursorTracker * meta_cursor_sprite_get_cursor_tracker (MetaCursorSprite *sprite);