[PATCH weston v2] input: Use slightly less obscure logic in evdev_notify_keyboard_focus()

Derek Foreman derekf at osg.samsung.com
Wed Nov 19 09:04:12 PST 2014


While the test is actually correct (for non-negative numbers), it's not
at all clear and seems to be an accidental order of operations mistake.

Also, add an assert() to make sure this number is never negative.

Closes bug 86346 - https://bugs.freedeskto.org/show_bug.cgi?id=86346

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---

This version just moves the assert directly after the decrement...

 src/input.c           | 1 +
 src/libinput-device.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/input.c b/src/input.c
index 5f19875..cd5e10b 100644
--- a/src/input.c
+++ b/src/input.c
@@ -2203,6 +2203,7 @@ WL_EXPORT void
 weston_seat_release_keyboard(struct weston_seat *seat)
 {
 	seat->keyboard_device_count--;
+	assert(seat->keyboard_device_count >= 0);
 	if (seat->keyboard_device_count == 0) {
 		weston_keyboard_set_focus(seat->keyboard, NULL);
 		weston_keyboard_cancel_grab(seat->keyboard);
diff --git a/src/libinput-device.c b/src/libinput-device.c
index 0e3f46d..8a48905 100644
--- a/src/libinput-device.c
+++ b/src/libinput-device.c
@@ -470,7 +470,7 @@ evdev_notify_keyboard_focus(struct weston_seat *seat,
 {
 	struct wl_array keys;
 
-	if (!seat->keyboard_device_count > 0)
+	if (seat->keyboard_device_count == 0)
 		return;
 
 	wl_array_init(&keys);
-- 
2.1.1



More information about the wayland-devel mailing list