[PATCH weston v4 04/20] desktop-shell: Make activate() take a view instead of surface
Peter Hutterer
peter.hutterer at who-t.net
Thu Nov 19 20:48:01 PST 2015
On Tue, Nov 17, 2015 at 06:10:50PM +0800, Jonas Ådahl wrote:
> In preparation for further refactorings.
>
> Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
> ---
> desktop-shell/exposay.c | 6 +++---
> desktop-shell/shell.c | 20 +++++++++++---------
> desktop-shell/shell.h | 2 +-
> 3 files changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c
> index 8bd55fb..1e43240 100644
> --- a/desktop-shell/exposay.c
> +++ b/desktop-shell/exposay.c
> @@ -162,7 +162,7 @@ exposay_highlight_surface(struct desktop_shell *shell,
> shell->exposay.column_current = esurface->column;
> shell->exposay.cur_output = esurface->eoutput;
>
> - activate(shell, view->surface, shell->exposay.seat, false);
> + activate(shell, view, shell->exposay.seat, false);
> shell->exposay.focus_current = view;
> }
>
> @@ -558,10 +558,10 @@ exposay_transition_inactive(struct desktop_shell *shell, int switch_focus)
> * animating back the old state and then immediately transitioning
> * to the new. */
> if (switch_focus && shell->exposay.focus_current)
> - activate(shell, shell->exposay.focus_current->surface,
> + activate(shell, shell->exposay.focus_current,
> shell->exposay.seat, true);
> else if (shell->exposay.focus_prev)
> - activate(shell, shell->exposay.focus_prev->surface,
> + activate(shell, shell->exposay.focus_prev,
> shell->exposay.seat, true);
>
> wl_list_for_each(esurface, &shell->exposay.surface_list, link)
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 0f473f8..1c84a88 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -807,7 +807,8 @@ focus_state_surface_destroy(struct wl_listener *listener, void *data)
> struct focus_state,
> surface_destroy_listener);
> struct desktop_shell *shell;
> - struct weston_surface *main_surface, *next;
> + struct weston_surface *main_surface;
> + struct weston_view *next;
> struct weston_view *view;
>
> main_surface = weston_surface_get_main_surface(state->keyboard_focus);
> @@ -820,13 +821,13 @@ focus_state_surface_destroy(struct wl_listener *listener, void *data)
> if (is_focus_view(view))
> continue;
>
> - next = view->surface;
> + next = view;
> break;
> }
>
> /* if the focus was a sub-surface, activate its main surface */
> if (main_surface != state->keyboard_focus)
> - next = main_surface;
> + next = get_default_view(main_surface);
>
> shell = state->seat->compositor->shell_interface.shell;
> if (next) {
> @@ -1988,10 +1989,10 @@ busy_cursor_grab_button(struct weston_pointer_grab *base,
> struct weston_seat *seat = pointer->seat;
>
> if (shsurf && button == BTN_LEFT && state) {
> - activate(shsurf->shell, shsurf->surface, seat, true);
> + activate(shsurf->shell, shsurf->view, seat, true);
> surface_move(shsurf, pointer, false);
> } else if (shsurf && button == BTN_RIGHT && state) {
> - activate(shsurf->shell, shsurf->surface, seat, true);
> + activate(shsurf->shell, shsurf->view, seat, true);
> surface_rotate(shsurf, pointer);
> }
> }
> @@ -5033,9 +5034,10 @@ lower_fullscreen_layer(struct desktop_shell *shell,
> }
>
> void
> -activate(struct desktop_shell *shell, struct weston_surface *es,
> +activate(struct desktop_shell *shell, struct weston_view *view,
> struct weston_seat *seat, bool configure)
> {
> + struct weston_surface *es = view->surface;
> struct weston_surface *main_surface;
> struct focus_state *state;
> struct workspace *ws;
> @@ -5111,7 +5113,7 @@ activate_binding(struct weston_seat *seat,
> if (get_shell_surface_type(main_surface) == SHELL_SURFACE_NONE)
> return;
>
> - activate(shell, focus_view->surface, seat, true);
> + activate(shell, focus_view, seat, true);
> }
>
> static void
> @@ -5561,7 +5563,7 @@ map(struct desktop_shell *shell, struct shell_surface *shsurf,
> if (shell->locked)
> break;
> wl_list_for_each(seat, &compositor->seat_list, link)
> - activate(shell, shsurf->surface, seat, true);
> + activate(shell, shsurf->view, seat, true);
> break;
> case SHELL_SURFACE_POPUP:
> case SHELL_SURFACE_NONE:
> @@ -5970,7 +5972,7 @@ switcher_destroy(struct switcher *switcher)
> }
>
> if (switcher->current)
> - activate(switcher->shell, switcher->current->surface,
> + activate(switcher->shell, switcher->current,
> keyboard->seat, true);
> wl_list_remove(&switcher->listener.link);
> weston_keyboard_end_grab(keyboard);
> diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h
> index 2ef23f4..153ede5 100644
> --- a/desktop-shell/shell.h
> +++ b/desktop-shell/shell.h
> @@ -226,7 +226,7 @@ lower_fullscreen_layer(struct desktop_shell *shell,
> struct weston_output *lowering_output);
>
> void
> -activate(struct desktop_shell *shell, struct weston_surface *es,
> +activate(struct desktop_shell *shell, struct weston_view *view,
> struct weston_seat *seat, bool configure);
>
> void
> --
> 2.4.3
>
> _______________________________________________
> 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