diff --git a/client/src/core.c b/client/src/core.c index d07eaffa..22d5d525 100644 --- a/client/src/core.c +++ b/client/src/core.c @@ -554,6 +554,7 @@ void core_handleMouseNormal(double ex, double ey) { /* wait for the move request to be processed */ g_cursor.realigning = true; + unsigned timeout = 200; do { LG_LOCK(g_state.pointerQueueLock); @@ -577,6 +578,14 @@ void core_handleMouseNormal(double ex, double ey) if (hostSerial >= setPosSerial) break; + if (--timeout == 0) + { + DEBUG_ERROR( + "pointerQueue serial not updating, expected %u but stuck at %u", + setPosSerial, hostSerial); + break; + } + g_state.ds->wait(1); } while(app_isRunning());