From: John Lindgren Date: Mon, 17 Jul 2023 06:01:02 +0000 (-0400) Subject: Chase wlroots: Use wlr_cursor_set_xcursor() X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=9c5266ac7694987d2230228b116c24707ca619cb;p=proto%2Flabwc.git Chase wlroots: Use wlr_cursor_set_xcursor() Chases: 18bafbfc57039e16d1dabd78b882b3d6477f76b5 xcursor-manager: drop wlr_xcursor_manager_set_cursor_image() --- diff --git a/src/input/cursor.c b/src/input/cursor.c index 4764f2ea..0c013105 100644 --- a/src/input/cursor.c +++ b/src/input/cursor.c @@ -252,8 +252,8 @@ cursor_set(struct seat *seat, enum lab_cursors cursor) return; } - wlr_xcursor_manager_set_cursor_image( - seat->xcursor_manager, cursor_names[cursor], seat->cursor); + wlr_cursor_set_xcursor(seat->cursor, seat->xcursor_manager, + cursor_names[cursor]); seat->server_cursor = cursor; } @@ -274,8 +274,15 @@ cursor_update_image(struct seat *seat) } return; } - wlr_xcursor_manager_set_cursor_image( - seat->xcursor_manager, cursor_names[cursor], seat->cursor); + /* + * Call wlr_cursor_unset_image() first to force wlroots to + * update the cursor (e.g. for a new output). Otherwise, + * wlr_cursor_set_xcursor() may detect that we are setting the + * same cursor as before, and do nothing. + */ + wlr_cursor_unset_image(seat->cursor); + wlr_cursor_set_xcursor(seat->cursor, seat->xcursor_manager, + cursor_names[cursor]); } bool diff --git a/subprojects/wlroots.wrap b/subprojects/wlroots.wrap index 3c4b3c09..d1369b81 100644 --- a/subprojects/wlroots.wrap +++ b/subprojects/wlroots.wrap @@ -1,6 +1,6 @@ [wrap-git] url = https://gitlab.freedesktop.org/wlroots/wlroots.git -revision = 70c1a5724814d2f786f7d3a0e55a05f11af14029 +revision = 18bafbfc57039e16d1dabd78b882b3d6477f76b5 [provide] dependency_names = wlroots