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

Bryce Harrington bryce at osg.samsung.com
Fri Jan 30 14:30:21 PST 2015


On Wed, Jan 07, 2015 at 08:04:05AM +1000, Peter Hutterer wrote:
> 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>
> 
> it would be a bit more involved but I think it'd be more obvious to a user
> if the zoom just happened around the center of the output. Or if you want to
> get fancy on the center of the surface with the keyboard focus.
> that way the user still sees something happening when the key is hit.
> 
> having said that, this patch looks fine for what it does
> Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Since there wasn't a review done on Derek's followup zoom patchset,
we'll go with this earlier one just to close the hole, and defer the
other zoom patches for 1.8.

Thanks, applied:

   8771a14..7ef3bed  master -> master

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