(svn r27172) -Fix [FS#6238] (r27167): Apparently Windows randomly drops SetCursorPos calls. According to internet due to incorrect/missing synchronisation in threads accessing the event queue.

pull/155/head
frosch 9 years ago
parent b251ba3e66
commit c0801cbd8d

@ -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;
}

Loading…
Cancel
Save