summaryrefslogtreecommitdiff
path: root/config/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'config/config.c')
-rw-r--r--config/config.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/config/config.c b/config/config.c
index b85b12028..d4cf23334 100644
--- a/config/config.c
+++ b/config/config.c
@@ -173,6 +173,10 @@ configMessage(DBusConnection *connection, DBusMessage *message, void *closure)
return DBUS_HANDLER_RESULT_HANDLED;
}
ErrorF("pDev is %p\n", pDev);
+ /* Call PIE here so we don't try to dereference a device that's
+ * already been removed. Technically there's still a small race
+ * here, so we should ensure that SIGIO is blocked. */
+ ProcessInputEvents();
RemoveDevice(pDev);
dbus_error_free(&error);
return DBUS_HANDLER_RESULT_HANDLED;