[PATCH weston 1/2] input: Update keyboard serial on press and release

Quentin Glidic sardemff7+wayland at sardemff7.net
Wed Aug 31 23:11:53 UTC 2016


On 30/06/2016 16:01, Olivier Fourdan wrote:
> Other compositors such as mutter update the keyboard serial for both key
> press and key release, unlike weston which updates it only on key press.
>
> When dealing with popup windows which require a match in serials, if the
> event that caused the popup to be shown is a key release, then the popup
> would be dismissed.
>
> This occurs when navigating gtk+ sub-menus using the keyboard.
>
> Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
> Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=768017
> ---
>  libweston/input.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/libweston/input.c b/libweston/input.c
> index 8f46698..18c4c1f 100644
> --- a/libweston/input.c
> +++ b/libweston/input.c
> @@ -1661,9 +1661,8 @@ notify_key(struct weston_seat *seat, uint32_t time, uint32_t key,
>  				      state);
>  	}
>
> +	keyboard->grab_serial = wl_display_get_serial(compositor->wl_display);
>  	if (state == WL_KEYBOARD_KEY_STATE_PRESSED) {
> -		keyboard->grab_serial =
> -			wl_display_get_serial(compositor->wl_display);
>  		keyboard->grab_time = time;
>  		keyboard->grab_key = key;
>  	}
>

I’m ok with that, but why not updating all three "grab_*" members?

Cheers,

-- 

Quentin “Sardem FF7” Glidic


More information about the wayland-devel mailing list