On Thu, Dec 10, 2015 at 01:08:01PM -0600, Derek Foreman wrote: > The click_to_activate handler fires on every mouse click for a surface > so let's be a little quicker to early return if you're clicking on the > surface that already has activation. > > This prevents (among other side effects) the sending of two xdg_configure > events for every mouse click. > > This should also make having two seats with keyboards behave in the same > way as a single seat. Previously the second seat could have a keyboard > focus on the surface and prevent some of the extra processing (including > the extra configure events) from taking place. > > Signed-off-by: Derek Foreman <[email protected]> > --- > > Difference from v1: only shortcut the click handler, don't change > the activate() function that's called on other binds (like alt-tab) > > > desktop-shell/shell.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c > index 780902d..c8c441f 100644 > --- a/desktop-shell/shell.c > +++ b/desktop-shell/shell.c > @@ -5101,6 +5101,7 @@ activate_binding(struct weston_seat *seat, > struct desktop_shell *shell, > struct weston_view *focus_view) > { > + struct focus_state *state; > struct weston_surface *focus; > struct weston_surface *main_surface; > > @@ -5113,6 +5114,13 @@ activate_binding(struct weston_seat *seat, > if (get_shell_surface_type(main_surface) == SHELL_SURFACE_NONE) > return; > > + state = ensure_focus_state(shell, seat); > + if (state == NULL) > + return; > + > + if (state->keyboard_focus == focus) > + return; > + > activate(shell, focus, seat, true); > }
Reviewed-by: Bryce Harrington <[email protected]> Ok for 1.11. _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
