[PATCH weston] desktop-shell: Don't crash on zoom without a pointer in the seat

Derek Foreman derekf at osg.samsung.com
Tue Jan 6 12:28:13 PST 2015


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 <derekf at osg.samsung.com>
---
 desktop-shell/shell.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index a7514f7..0ec6d33 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),
-- 
2.1.4



More information about the wayland-devel mailing list