backends: Add ::device property to MetaCursorRenderer

A cursor renderer is made to invariably follow a pointer device, make
it a construct-time property, and update all creators of cursor renderers
to specify it.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403>
This commit is contained in:
Carlos Garnacho
2020-07-13 13:32:48 +02:00
committed by Marge Bot
parent 247613d26d
commit 3ade57e4e9
7 changed files with 41 additions and 6 deletions

View File

@ -1724,7 +1724,8 @@ init_hw_cursor_support (MetaCursorRendererNative *cursor_renderer_native)
}
MetaCursorRendererNative *
meta_cursor_renderer_native_new (MetaBackend *backend)
meta_cursor_renderer_native_new (MetaBackend *backend,
ClutterInputDevice *device)
{
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
@ -1733,6 +1734,7 @@ meta_cursor_renderer_native_new (MetaBackend *backend)
cursor_renderer_native = g_object_new (META_TYPE_CURSOR_RENDERER_NATIVE,
"backend", backend,
"device", device,
NULL);
priv =
meta_cursor_renderer_native_get_instance_private (cursor_renderer_native);

View File

@ -33,6 +33,7 @@ G_DECLARE_FINAL_TYPE (MetaCursorRendererNative, meta_cursor_renderer_native,
META, CURSOR_RENDERER_NATIVE,
MetaCursorRenderer)
MetaCursorRendererNative * meta_cursor_renderer_native_new (MetaBackend *backend);
MetaCursorRendererNative * meta_cursor_renderer_native_new (MetaBackend *backend,
ClutterInputDevice *device);
#endif /* META_CURSOR_RENDERER_NATIVE_H */

View File

@ -1865,7 +1865,7 @@ update_tablet_cursor_state (MetaSeatNative *seat_native,
g_object_unref);
}
cursor_renderer = meta_cursor_renderer_new (meta_get_backend ());
cursor_renderer = meta_cursor_renderer_new (meta_get_backend (), device);
g_hash_table_insert (seat_native->tablet_cursors,
device, cursor_renderer);
}
@ -3332,7 +3332,8 @@ meta_seat_native_maybe_ensure_cursor_renderer (MetaSeatNative *seat_native,
MetaCursorRendererNative *cursor_renderer_native;
cursor_renderer_native =
meta_cursor_renderer_native_new (meta_get_backend ());
meta_cursor_renderer_native_new (meta_get_backend (),
seat_native->core_pointer);
seat_native->cursor_renderer =
META_CURSOR_RENDERER (cursor_renderer_native);
}