Skip to content

Commit 1f12434

Browse files
committed
misc cursor: Adjust a few cursor names.
1 parent 120ade8 commit 1f12434

4 files changed

Lines changed: 18 additions & 6 deletions

File tree

src/backends/meta-cursor-sprite-xcursor.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@ meta_cursor_get_name (MetaCursor cursor)
111111
case META_CURSOR_ROW_RESIZE:
112112
return "v_double_arrow";
113113
case META_CURSOR_ALL_SCROLL:
114-
return "left_ptr";
114+
return "all-scroll";
115115
case META_CURSOR_ZOOM_IN:
116116
return "left_ptr";
117117
case META_CURSOR_ZOOM_OUT:
118118
return "left_ptr";
119119
case META_CURSOR_DND_ASK:
120120
return "dnd-copy";
121121
case META_CURSOR_ALL_RESIZE:
122-
return "dnd-move";
122+
return "fleur";
123123
case META_CURSOR_INVALID:
124124
case META_CURSOR_NONE:
125125
break;
@@ -197,15 +197,15 @@ meta_cursor_get_legacy_name (MetaCursor cursor)
197197
case META_CURSOR_ROW_RESIZE:
198198
return "v_double_arrow";
199199
case META_CURSOR_ALL_SCROLL:
200-
return "left_ptr";
200+
return "all-scroll";
201201
case META_CURSOR_ZOOM_IN:
202202
return "left_ptr";
203203
case META_CURSOR_ZOOM_OUT:
204204
return "left_ptr";
205205
case META_CURSOR_DND_ASK:
206206
return "dnd-copy";
207207
case META_CURSOR_ALL_RESIZE:
208-
return "dnd-move";
208+
return "fleur";
209209
case META_CURSOR_INVALID:
210210
case META_CURSOR_NONE:
211211
break;

src/backends/meta-cursor-tracker.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,11 +219,19 @@ set_window_cursor (MetaCursorTracker *tracker,
219219
gboolean has_cursor,
220220
MetaCursorSprite *cursor_sprite)
221221
{
222-
g_clear_object (&tracker->window_cursor);
222+
g_autoptr (MetaCursorSprite) old_cursor = g_steal_pointer (&tracker->window_cursor);
223+
223224
if (cursor_sprite)
224225
tracker->window_cursor = g_object_ref (cursor_sprite);
225226
tracker->has_window_cursor = has_cursor;
226227
sync_cursor (tracker);
228+
229+
/* old_cursor is released here, after sync_cursor has realized the new
230+
* cursor sprite's GBM bo. This ensures the old GBM bo (and its DRM
231+
* handle) stays alive while the new bo is allocated, preventing the
232+
* kernel from recycling the same DRM handle and skipping the cursor
233+
* plane update.
234+
*/
227235
}
228236

229237
gboolean

src/core/display.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1672,7 +1672,7 @@ meta_cursor_for_grab_op (MetaGrabOp op)
16721672
case META_GRAB_OP_MOVING:
16731673
case META_GRAB_OP_KEYBOARD_MOVING:
16741674
case META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN:
1675-
return META_CURSOR_MOVE;
1675+
return META_CURSOR_ALL_RESIZE;
16761676
break;
16771677
default:
16781678
break;

src/core/frame.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "backends/x11/meta-backend-x11.h"
2929
#include "core/bell.h"
3030
#include "core/keybindings-private.h"
31+
#include "meta/display.h"
3132
#include "meta/meta-x11-errors.h"
3233
#include "x11/meta-x11-display-private.h"
3334

@@ -423,6 +424,9 @@ meta_frame_set_screen_cursor (MetaFrame *frame,
423424
XFlush (x11_display->xdisplay);
424425
XFreeCursor (x11_display->xdisplay, xcursor);
425426
}
427+
428+
if (meta_is_wayland_compositor ())
429+
meta_display_set_cursor (frame->window->display, cursor);
426430
}
427431

428432
Window

0 commit comments

Comments
 (0)