[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