diff --git a/src/backend/Session.cpp b/src/backend/Session.cpp index f2a737f..6d47aaa 100644 --- a/src/backend/Session.cpp +++ b/src/backend/Session.cpp @@ -264,8 +264,7 @@ static bool isDRMCard(const char* sysname) { } void Aquamarine::CSession::onReady() { - dispatchLibseatEvents(); - dispatchLibinputEvents(); + ; } void Aquamarine::CSession::dispatchUdevEvents() { @@ -361,7 +360,12 @@ void Aquamarine::CSession::dispatchLibseatEvents() { void Aquamarine::CSession::dispatchPendingEventsAsync() { dispatchLibseatEvents(); + + // only linux libudev allows us to asynchronously dispatch outstanding without blocking +#if defined(__linux__) dispatchUdevEvents(); +#endif + dispatchLibinputEvents(); }