diff options
-rw-r--r-- | src/gfx.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp index 64c7d9186..410a2ee96 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1636,8 +1636,11 @@ bool CursorVars::UpdateCursorPosition(int x, int y, bool queued_warp) bool need_warp = false; if (this->fix_at) { - if (!this->queued_warp && (this->delta.x != 0 || this->delta.y != 0)) { - /* Trigger warp. */ + if (this->delta.x != 0 || this->delta.y != 0) { + /* Trigger warp. + * Note: We also trigger warping again, if there is already a pending warp. + * This makes it more tolerant about the OS or other software inbetween + * botchering the warp. */ this->queued_warp = queued_warp; need_warp = true; } |