From 5f27356fc1f791c2497d1874ec02ed1427554981 Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Mon, 17 Jan 2022 23:02:59 +0100 Subject: [PATCH] Short term solution to prevent segfaulting on TTY switch. See #206. This will still prevent touchscreens or other absolute pointers to function correctly after switching the TTY when using a multi screen setup. But that is still better than segfaulting. --- src/seat.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/seat.c b/src/seat.c index c27551ec..1f3d5d2a 100644 --- a/src/seat.c +++ b/src/seat.c @@ -134,11 +134,13 @@ new_pointer(struct seat *seat, struct input *input) wlr_cursor_attach_input_device(seat->cursor, dev); /* In support of running with WLR_WL_OUTPUTS set to >=2 */ - wlr_log(WLR_INFO, "map pointer to output %s\n", dev->output_name); - struct wlr_output *output = - output_by_name(seat->server, dev->output_name); - wlr_cursor_map_input_to_output(seat->cursor, dev, output); - wlr_cursor_map_input_to_region(seat->cursor, dev, NULL); + if (dev->output_name) { + wlr_log(WLR_INFO, "map pointer to output %s\n", dev->output_name); + struct wlr_output *output = + output_by_name(seat->server, dev->output_name); + wlr_cursor_map_input_to_output(seat->cursor, dev, output); + wlr_cursor_map_input_to_region(seat->cursor, dev, NULL); + } } void