From: Jonas Ådahl Date: Wed, 29 Aug 2012 20:12:59 +0000 (+0200) Subject: shell: Always set focus when restoring focus state X-Git-Tag: submit/trunk/20120913.174637~78 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=568994400ba42036734a7a08e3f7229544d5ad3f;p=profile%2Fivi%2Fweston.git shell: Always set focus when restoring focus state To avoid having a surface on a hidden workspace in focus always set the focus (even to NULL) when restoring. Signed-off-by: Jonas Ådahl --- diff --git a/src/shell.c b/src/shell.c index 45323c2..6ad312b 100644 --- a/src/shell.c +++ b/src/shell.c @@ -439,11 +439,13 @@ static void restore_focus_state(struct desktop_shell *shell, struct workspace *ws) { struct focus_state *state, *next; + struct wl_surface *surface; wl_list_for_each_safe(state, next, &ws->focus_list, link) { - if (state->keyboard_focus) - wl_keyboard_set_focus(state->seat->seat.keyboard, - &state->keyboard_focus->surface); + surface = state->keyboard_focus ? + &state->keyboard_focus->surface : NULL; + + wl_keyboard_set_focus(state->seat->seat.keyboard, surface); } }