server: fix wl_seat_set_keyboard
authorPekka Paalanen <ppaalanen@gmail.com>
Tue, 10 Jul 2012 10:05:01 +0000 (13:05 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 10 Jul 2012 18:08:01 +0000 (14:08 -0400)
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>
src/wayland-server.c

index 82ed326..df9bd07 100644 (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;