[mutter/wayland] cursor-tracker: Make set_grab_cursor take a MetaCursorReference
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wayland] cursor-tracker: Make set_grab_cursor take a MetaCursorReference
- Date: Mon, 31 Mar 2014 23:15:56 +0000 (UTC)
commit fa6082409699f986f43740ca161151efdc760e0d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Mon Mar 31 16:17:49 2014 -0400
cursor-tracker: Make set_grab_cursor take a MetaCursorReference
src/core/display.c | 7 +++++--
src/core/meta-cursor-tracker-private.h | 4 ++--
src/core/meta-cursor-tracker.c | 9 +++++----
3 files changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index b4c5b2b..716f864 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1839,6 +1839,7 @@ meta_display_set_grab_op_cursor (MetaDisplay *display,
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
MetaCursor cursor = meta_cursor_for_grab_op (op);
+ MetaCursorReference *cursor_ref;
XISetMask (mask.mask, XI_ButtonPress);
XISetMask (mask.mask, XI_ButtonRelease);
@@ -1872,7 +1873,9 @@ meta_display_set_grab_op_cursor (MetaDisplay *display,
meta_error_trap_pop (display);
- meta_cursor_tracker_set_grab_cursor (screen->cursor_tracker, cursor);
+ cursor_ref = meta_cursor_reference_from_theme (screen->cursor_tracker, cursor);
+ meta_cursor_tracker_set_grab_cursor (screen->cursor_tracker, cursor_ref);
+ meta_cursor_reference_unref (cursor_ref);
}
gboolean
@@ -2111,7 +2114,7 @@ meta_display_end_grab_op (MetaDisplay *display,
meta_screen_ungrab_all_keys (display->screen, timestamp);
}
- meta_cursor_tracker_set_grab_cursor (display->screen->cursor_tracker, META_CURSOR_DEFAULT);
+ meta_cursor_tracker_set_grab_cursor (display->screen->cursor_tracker, NULL);
display->grab_timestamp = 0;
display->grab_window = NULL;
diff --git a/src/core/meta-cursor-tracker-private.h b/src/core/meta-cursor-tracker-private.h
index 9da347a..ced31b3 100644
--- a/src/core/meta-cursor-tracker-private.h
+++ b/src/core/meta-cursor-tracker-private.h
@@ -80,8 +80,8 @@ struct _MetaCursorTrackerClass {
gboolean meta_cursor_tracker_handle_xevent (MetaCursorTracker *tracker,
XEvent *xevent);
-void meta_cursor_tracker_set_grab_cursor (MetaCursorTracker *tracker,
- MetaCursor cursor);
+void meta_cursor_tracker_set_grab_cursor (MetaCursorTracker *tracker,
+ MetaCursorReference *cursor);
void meta_cursor_tracker_set_window_cursor (MetaCursorTracker *tracker,
struct wl_resource *buffer,
int hot_x,
diff --git a/src/core/meta-cursor-tracker.c b/src/core/meta-cursor-tracker.c
index ebc661b..beaf255 100644
--- a/src/core/meta-cursor-tracker.c
+++ b/src/core/meta-cursor-tracker.c
@@ -372,12 +372,13 @@ meta_cursor_tracker_get_hot (MetaCursorTracker *tracker,
}
void
-meta_cursor_tracker_set_grab_cursor (MetaCursorTracker *tracker,
- MetaCursor cursor)
+meta_cursor_tracker_set_grab_cursor (MetaCursorTracker *tracker,
+ MetaCursorReference *cursor)
{
g_clear_pointer (&tracker->grab_cursor, meta_cursor_reference_unref);
- if (cursor != META_CURSOR_DEFAULT)
- tracker->grab_cursor = meta_cursor_reference_from_theme (tracker, cursor);
+ if (cursor)
+ tracker->grab_cursor = meta_cursor_reference_ref (cursor);
+
sync_cursor (tracker);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]