<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jul 8, 2013 at 9:52 AM, Rob Bradford <span dir="ltr"><<a href="mailto:robert.bradford@intel.com" target="_blank">robert.bradford@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 8 July 2013 15:15, Giulio Camuffo <<a href="mailto:giuliocamuffo@gmail.com">giuliocamuffo@gmail.com</a>> wrote:<br>

<br>
Hi Giulio,<br>
<div class="im"><br>
> There is not much else to say. surfaces created with weston_surface_create<br>
> have<br>
> a NULL resource, and if that gets picked by default_grab_focus (in input.c)<br>
> the next<br>
> seat_get_pointer will break.<br>
<br>
</div>I guess my point is that I wanted you to highlight that it is the<br>
non-client surfaces (like the lock surface) that don't have a<br>
resource. Most of surfaces created by weston_surface_create are<br>
through the compositor_create_surface which does set the resource.<br>
<div class="im"><br>
> I guess another solution could be to make weston_compositor_pick_surface not<br>
> pick surfaces without a valid resource, but i'm not sure that wouldn't break<br>
> something<br>
> else.<br>
<br>
</div>That might be worth exploring - these surfaces don't accept input<br>
right? So the pick shouldn't do anything anyway..and how did one of<br>
these surfaces get assigned as the pointer focus? That might be the<br>
thing to look at.<br></blockquote><div><br></div><div>It's worth noting that anything coming form xwayland will also be created without a resource.  I'm not sure how those play into input handling though.<br><br>
</div><div>--Jason Ekstrand<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Rob<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> 2013/7/8 Rob Bradford <<a href="mailto:robert.bradford@intel.com">robert.bradford@intel.com</a>><br>
>><br>
>> Can you provide some more explanation in your commit message about why<br>
>> the pointer might have a surface focussed but that surface does not<br>
>> have a valid resource. (I'm wondering if this is fixing the symptom of<br>
>> a problem elsewhere.)<br>
>><br>
>> Rob<br>
>><br>
>> On 7 July 2013 16:38, Giulio Camuffo <<a href="mailto:giuliocamuffo@gmail.com">giuliocamuffo@gmail.com</a>> wrote:<br>
>> > seat->pointer->focus->resource can be NULL, if the surface was<br>
>> > created with weston_surface_create.<br>
>> > ---<br>
>> >  src/input.c | 2 +-<br>
>> >  1 file changed, 1 insertion(+), 1 deletion(-)<br>
>> ><br>
>> > diff --git a/src/input.c b/src/input.c<br>
>> > index 644487a..a7a37e5 100644<br>
>> > --- a/src/input.c<br>
>> > +++ b/src/input.c<br>
>> > @@ -1181,7 +1181,7 @@ seat_get_pointer(struct wl_client *client, struct<br>
>> > wl_resource *resource,<br>
>> >         wl_resource_set_implementation(cr, &pointer_interface,<br>
>> > seat->pointer,<br>
>> >                                        unbind_resource);<br>
>> ><br>
>> > -       if (seat->pointer->focus &&<br>
>> > +       if (seat->pointer->focus && seat->pointer->focus->resource &&<br>
>> >             wl_resource_get_client(seat->pointer->focus->resource) ==<br>
>> > client) {<br>
>> >                 struct weston_surface *surface;<br>
>> >                 wl_fixed_t sx, sy;<br>
>> > --<br>
>> > 1.8.3.2<br>
>> ><br>
>> > _______________________________________________<br>
>> > wayland-devel mailing list<br>
>> > <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
>> > <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
><br>
><br>
_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</div></div></blockquote></div><br></div></div>