On Tue, Jul 09, 2013 at 02:21:24PM +0200, Giulio Camuffo wrote: > currently defult_grab_focus does not repick a surface if a mouse > button is pressed. change it so it does repick if there is no > current focus surface, like when the focus gets destroyed, so the > cursor does not disappear.
Ah, yes, the disappearing is unfortunate, but also a regression. We used to keep the cursor image even after the client died, so you would be stuck with the last cursor from the client until you release the mouse button. The intended behavior is that we don't repick until all buttons are released, even when the focus goes away. This is to avoid entering a surface with buttons down. I don't have a good fix for this right now, but I prefer to keep the protocol semantics as they are and live with the cursor artifact for now. Kristian > --- > src/input.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/input.c b/src/input.c > index a7a37e5..76ce81a 100644 > --- a/src/input.c > +++ b/src/input.c > @@ -102,7 +102,7 @@ default_grab_focus(struct weston_pointer_grab *grab) > struct weston_surface *surface; > wl_fixed_t sx, sy; > > - if (pointer->button_count > 0) > + if (pointer->button_count > 0 && pointer->focus) > return; > > surface = weston_compositor_pick_surface(pointer->seat->compositor, > -- > 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
