[mutter/wayland] screen: Move XDefineCursor on the root window here
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wayland] screen: Move XDefineCursor on the root window here
- Date: Mon, 31 Mar 2014 23:16:11 +0000 (UTC)
commit fe42a4eb4ec466bce3f686b38a0221a198c0afb5
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Mon Mar 31 17:22:23 2014 -0400
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.
src/core/meta-cursor-tracker.c | 19 +++----------------
src/core/screen.c | 13 ++++++++++++-
2 files changed, 15 insertions(+), 17 deletions(-)
---
diff --git a/src/core/meta-cursor-tracker.c b/src/core/meta-cursor-tracker.c
index 8b6561e..a5ceb2e 100644
--- a/src/core/meta-cursor-tracker.c
+++ b/src/core/meta-cursor-tracker.c
@@ -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
diff --git a/src/core/screen.c b/src/core/screen.c
index 2835445..38f8da8 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]