There is not much else to say. surfaces created with weston_surface_create have a NULL resource, and if that gets picked by default_grab_focus (in input.c) the next seat_get_pointer will break.
I guess another solution could be to make weston_compositor_pick_surface not pick surfaces without a valid resource, but i'm not sure that wouldn't break something else. 2013/7/8 Rob Bradford <[email protected]> > Can you provide some more explanation in your commit message about why > the pointer might have a surface focussed but that surface does not > have a valid resource. (I'm wondering if this is fixing the symptom of > a problem elsewhere.) > > Rob > > On 7 July 2013 16:38, Giulio Camuffo <[email protected]> wrote: > > seat->pointer->focus->resource can be NULL, if the surface was > > created with weston_surface_create. > > --- > > src/input.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/src/input.c b/src/input.c > > index 644487a..a7a37e5 100644 > > --- a/src/input.c > > +++ b/src/input.c > > @@ -1181,7 +1181,7 @@ seat_get_pointer(struct wl_client *client, struct > wl_resource *resource, > > wl_resource_set_implementation(cr, &pointer_interface, > seat->pointer, > > unbind_resource); > > > > - if (seat->pointer->focus && > > + if (seat->pointer->focus && seat->pointer->focus->resource && > > wl_resource_get_client(seat->pointer->focus->resource) == > client) { > > struct weston_surface *surface; > > wl_fixed_t sx, sy; > > -- > > 1.8.3.2 > > > > _______________________________________________ > > wayland-devel mailing list > > [email protected] > > http://lists.freedesktop.org/mailman/listinfo/wayland-devel >
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
