diff -up ClanLib-1.0.0/Sources/GL/GLX/display_window_opengl.cpp~ ClanLib-1.0.0/Sources/GL/GLX/display_window_opengl.cpp
--- ClanLib-1.0.0/Sources/GL/GLX/display_window_opengl.cpp~ 2008-11-13 17:09:02.000000000 +0100
+++ ClanLib-1.0.0/Sources/GL/GLX/display_window_opengl.cpp 2009-09-10 22:58:10.000000000 +0200
@@ -612,6 +612,13 @@ void CL_DisplayWindow_OpenGL::set_resolu
XF86VidModeGetViewPort(disp, vi->screen,
&old_x, &old_y);
}
+ /* Warp the pointer to the upper left corner, this is
+ necessary as the: XF86VidModeSetViewPort() call
+ below does not seem to do anything on newer Xorg
+ servers, instead the viewport appears to be always
+ centered at the last mouse position */
+ XWarpPointer(disp, None, XDefaultRootWindow(disp),
+ 0, 0, 0, 0, 0, 0);
XF86VidModeSwitchToMode(disp, vi->screen,
modes[i]);
}