summaryrefslogtreecommitdiffstats
path: root/tdekbdledsync
diff options
context:
space:
mode:
Diffstat (limited to 'tdekbdledsync')
-rw-r--r--tdekbdledsync/main.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/tdekbdledsync/main.cpp b/tdekbdledsync/main.cpp
index 0f4075694..1dbf7ef73 100644
--- a/tdekbdledsync/main.cpp
+++ b/tdekbdledsync/main.cpp
@@ -467,11 +467,15 @@ int main() {
else {
dev = udev_monitor_receive_device(mon);
if (dev) {
+ int reload_keyboards = 0;
if (strcmp(udev_device_get_action(dev), "add") == 0) {
- // Reload keyboards
- break;
+ reload_keyboards = 1;
}
if (strcmp(udev_device_get_action(dev), "remove") == 0) {
+ reload_keyboards = 1;
+ }
+ udev_device_unref(dev);
+ if( reload_keyboards ) {
// Reload keyboards
break;
}
@@ -507,5 +511,7 @@ int main() {
}
releaseLock(lockfd, lockFileName);
+ udev_monitor_unref(mon);
+ udev_unref(udev);
return 0;
}