Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
---
Could be merged with 1/8, but two patches for easier review.

 src/evdev.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/evdev.c b/src/evdev.c
index 8b154a3..d4a4a07 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1061,16 +1061,23 @@ release_pressed_keys(struct evdev_device *device)
 int
 evdev_device_suspend(struct evdev_device *device)
 {
-       if (device->source)
+       if (device->source) {
                libinput_remove_source(device->base.seat->libinput,
                                       device->source);
+               device->source = NULL;
+       }
 
        release_pressed_keys(device);
 
-       if (device->mtdev)
+       if (device->mtdev) {
                mtdev_close_delete(device->mtdev);
-       close_restricted(device->base.seat->libinput, device->fd);
-       device->fd = -1;
+               device->mtdev = NULL;
+       }
+
+       if (device->fd != -1) {
+               close_restricted(device->base.seat->libinput, device->fd);
+               device->fd = -1;
+       }
 
        return 0;
 }
-- 
1.9.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to