diff options
Diffstat (limited to 'src/synaptics.c')
-rw-r--r-- | src/synaptics.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/synaptics.c b/src/synaptics.c index 70b7f3b..bdc9605 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -1601,9 +1601,11 @@ timerFunc(OsTimerPtr timer, CARD32 now, pointer arg) SynapticsPrivate *priv = (SynapticsPrivate *) (pInfo->private); struct SynapticsHwState *hw = priv->local_hw_state; int delay; - int sigstate; - - sigstate = xf86BlockSIGIO(); +#if !HAVE_THREADED_INPUT + int sigstate = xf86BlockSIGIO(); +#else + input_lock(); +#endif priv->hwState->millis += now - priv->timer_time; SynapticsCopyHwState(hw, priv->hwState); @@ -1613,7 +1615,11 @@ timerFunc(OsTimerPtr timer, CARD32 now, pointer arg) priv->timer_time = now; priv->timer = TimerSet(priv->timer, 0, delay, timerFunc, pInfo); +#if !HAVE_THREADED_INPUT xf86UnblockSIGIO(sigstate); +#else + input_unlock(); +#endif return 0; } |