db7fd2c
--- allegro-4.2.2/src/x/xwin.c	2009-09-10 22:29:53.000000000 +0200
db7fd2c
+++ allegro-4.2.2.new/src/x/xwin.c	2009-09-10 21:48:21.000000000 +0200
db7fd2c
@@ -2853,6 +2853,13 @@
db7fd2c
       }
db7fd2c
    }
db7fd2c
       
db7fd2c
+   /* Warp the pointer to the upper left corner (where our fs_window is),
db7fd2c
+      this is necessary as the: XF86VidModeSetViewPort() call below does
db7fd2c
+      not seem to do anything on newer Xorg servers, instead the viewport
db7fd2c
+      seems to always be centered at the last mouse cursor position. */
db7fd2c
+   XWarpPointer(_xwin.display, None, XDefaultRootWindow(_xwin.display),
db7fd2c
+                0, 0, 0, 0, 0, 0);
db7fd2c
+
db7fd2c
    /* Switch video mode.  */
db7fd2c
    if ((_xwin.modesinfo[i] == _xwin.orig_modeinfo) ||
db7fd2c
        !XF86VidModeSwitchToMode(_xwin.display, _xwin.screen,