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

Jonas Ã…dahl jadahl at gmail.com
Tue Jan 6 19:27:51 PST 2015


On Tue, Jan 06, 2015 at 02:28:13PM -0600, Derek Foreman wrote:
> 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) {

You could also check if (seat->pointer_device_count > 0) here.


Jonas

> +		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
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list