server: fix wl_seat_set_keyboard

This makes wl_seat_set_keyboard similar to wl_seat_set_pointer in that
it's a no-op, if you try to set keyboard to NULL when it already is
NULL, instead of refusing to set it to NULL ever.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
Pekka Paalanen 2012-07-10 13:05:01 +03:00 committed by Kristian Høgsberg
parent 23bf48063f
commit 9326498d03

View file

@ -750,7 +750,7 @@ wl_seat_set_keyboard(struct wl_seat *seat, struct wl_keyboard *keyboard)
{
if (keyboard && (seat->keyboard || keyboard->seat))
return; /* XXX: error? */
if (!keyboard && seat->keyboard)
if (!keyboard && !seat->keyboard)
return;
seat->keyboard = keyboard;