cursor-tracker: Make set_root_cursor take a MetaCursorReference

This commit is contained in:
Jasper St. Pierre 2014-03-31 17:28:19 -04:00
parent fe42a4eb4e
commit f95f2b0c6d
3 changed files with 9 additions and 5 deletions

View File

@ -86,7 +86,7 @@ void meta_cursor_tracker_set_window_cursor (MetaCursorTracker *tracker,
MetaCursorReference *cursor); MetaCursorReference *cursor);
void meta_cursor_tracker_unset_window_cursor (MetaCursorTracker *tracker); void meta_cursor_tracker_unset_window_cursor (MetaCursorTracker *tracker);
void meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker, void meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
MetaCursor cursor); MetaCursorReference *cursor);
void meta_cursor_tracker_update_position (MetaCursorTracker *tracker, void meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x, int new_x,

View File

@ -396,11 +396,12 @@ meta_cursor_tracker_unset_window_cursor (MetaCursorTracker *tracker)
} }
void void
meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker, meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
MetaCursor cursor) MetaCursorReference *cursor)
{ {
g_clear_pointer (&tracker->root_cursor, meta_cursor_reference_unref); g_clear_pointer (&tracker->root_cursor, meta_cursor_reference_unref);
tracker->root_cursor = meta_cursor_reference_from_theme (tracker, cursor); if (cursor)
tracker->root_cursor = meta_cursor_reference_ref (cursor);
sync_cursor (tracker); sync_cursor (tracker);
} }

View File

@ -1387,8 +1387,11 @@ meta_screen_update_cursor (MetaScreen *screen)
MetaDisplay *display = screen->display; MetaDisplay *display = screen->display;
MetaCursor cursor = screen->current_cursor; MetaCursor cursor = screen->current_cursor;
Cursor xcursor; Cursor xcursor;
MetaCursorReference *cursor_ref;
meta_cursor_tracker_set_root_cursor (screen->cursor_tracker, cursor); cursor_ref = meta_cursor_reference_from_theme (screen->cursor_tracker, cursor);
meta_cursor_tracker_set_root_cursor (screen->cursor_tracker, cursor_ref);
meta_cursor_reference_unref (cursor_ref);
/* Set a cursor for X11 applications that don't specify their own */ /* Set a cursor for X11 applications that don't specify their own */
xcursor = meta_display_create_x_cursor (display, cursor); xcursor = meta_display_create_x_cursor (display, cursor);