From 7751d737403eddb4bcffd21ea480bcf3ead3ad98 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 4 Jan 2022 18:24:05 +0100 Subject: [PATCH] app: [Wayland] don't change cursor when there is no pointer Fixes: https://todo.sr.ht/~eliasnaur/gio/333 Signed-off-by: Elias Naur --- app/os_wayland.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/os_wayland.go b/app/os_wayland.go index f952b9ae..ac7aa172 100644 --- a/app/os_wayland.go +++ b/app/os_wayland.go @@ -937,8 +937,12 @@ func (w *window) Configure(options []Option) { func (w *window) Raise() {} func (w *window) SetCursor(name pointer.CursorName) { + ptr := w.disp.seat.pointer + if ptr == nil { + return + } if name == pointer.CursorNone { - C.wl_pointer_set_cursor(w.disp.seat.pointer, w.serial, nil, 0, 0) + C.wl_pointer_set_cursor(ptr, w.serial, nil, 0, 0) return } switch name { @@ -966,7 +970,7 @@ func (w *window) SetCursor(name pointer.CursorName) { return } w.cursor.cursor = c - w.setCursor(w.disp.seat.pointer, w.serial) + w.setCursor(ptr, w.serial) } func (w *window) setCursor(pointer *C.struct_wl_pointer, serial C.uint32_t) {