[PATCH weston 3/3] shell: Fix crash when restoring focus state during workspace change

Kristian Høgsberg hoegsberg at gmail.com
Fri May 9 13:32:24 PDT 2014


On Wed, May 07, 2014 at 11:57:28AM +0300, Ander Conselvan de Oliveira wrote:
> From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
> 
> The check to avoid calling weston_keyboard_set_focus() for a seat that
> didn't have a keyboard in restore_focus_state() was cheking the wrong
> seat (the one from the previous loop). That caused a crash when
> switching workspaces if there was an extra seat that didn't have a
> keyboard.
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=78349

Thanks Ander, all three committed.

Kristian

> ---
>  desktop-shell/shell.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index fac3120..ea7b3cd 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -731,7 +731,7 @@ restore_focus_state(struct desktop_shell *shell, struct workspace *ws)
>  	wl_list_for_each_safe(seat, next_seat, &pending_seat_list, link) {
>  		wl_list_insert(&shell->compositor->seat_list, &seat->link);
>  
> -		if (state->seat->keyboard == NULL)
> +		if (seat->keyboard == NULL)
>  			continue;
>  
>  		weston_keyboard_set_focus(seat->keyboard, NULL);
> -- 
> 1.8.3.2
> 
> _______________________________________________
> 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