From 7ef3bed03cee03a746f739c30320a0599be1ea0c Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Tue, 6 Jan 2015 14:28:13 -0600 Subject: desktop-shell: Don't crash on zoom without a pointer in the seat The zoom effect zooms at the seat's current pointer location. When no pointer is present the zoom key bindings cause a crash. Instead, check for the absence of a pointer and log a warning. Signed-off-by: Derek Foreman Reviewed-by: Peter Hutterer --- desktop-shell/shell.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index f6d9c793..456763d1 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -4671,6 +4671,11 @@ do_zoom(struct weston_seat *seat, uint32_t time, uint32_t key, uint32_t axis, struct weston_output *output; float increment; + if (!seat->pointer) { + weston_log("Zoom hotkey pressed but seat '%s' contains no pointer.\n", seat->seat_name); + return; + } + wl_list_for_each(output, &compositor->output_list, link) { if (pixman_region32_contains_point(&output->region, wl_fixed_to_double(seat->pointer->x), -- cgit v1.2.1