Commit fe42a4eb authored by Jasper St. Pierre's avatar Jasper St. Pierre

screen: Move XDefineCursor on the root window here

This is really an X11 front-end thing, so it doesn't belong in the
cursor tracker, which is a back-end thing.
parent 565883da
......@@ -399,23 +399,10 @@ void
meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
MetaCursor cursor)
{
Cursor xcursor;
MetaDisplay *display = tracker->screen->display;
g_clear_pointer (&tracker->root_cursor, meta_cursor_reference_unref);
tracker->root_cursor = meta_cursor_reference_from_theme (tracker, cursor);
/* First create a cursor for X11 applications that don't specify their own */
xcursor = meta_display_create_x_cursor (display, cursor);
XDefineCursor (display->xdisplay, tracker->screen->xroot, xcursor);
XFlush (display->xdisplay);
XFreeCursor (display->xdisplay, xcursor);
/* Now update the real root cursor */
if (meta_is_wayland_compositor ())
{
g_clear_pointer (&tracker->root_cursor, meta_cursor_reference_unref);
tracker->root_cursor = meta_cursor_reference_from_theme (tracker, cursor);
sync_cursor (tracker);
}
sync_cursor (tracker);
}
static gboolean
......
......@@ -1384,7 +1384,18 @@ update_focus_mode (MetaScreen *screen)
void
meta_screen_update_cursor (MetaScreen *screen)
{
meta_cursor_tracker_set_root_cursor (screen->cursor_tracker, screen->current_cursor);
MetaDisplay *display = screen->display;
MetaCursor cursor = screen->current_cursor;
Cursor xcursor;
meta_cursor_tracker_set_root_cursor (screen->cursor_tracker, cursor);
/* Set a cursor for X11 applications that don't specify their own */
xcursor = meta_display_create_x_cursor (display, cursor);
XDefineCursor (display->xdisplay, screen->xroot, xcursor);
XFlush (display->xdisplay);
XFreeCursor (display->xdisplay, xcursor);
}
void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment