This patch is from Roderick Colenbrander. It reverses a change made to SetFocus, which was causing severe problems with some full screen programs (games especially). The comments indicate that using CurrentTime is incorrect here, but gives no explanation as to why, and I couldn't see that change in the cvs log for that file. As this change appears to fix it, an explanation as to why it's wrong would be appreciated. ChangeLog: Use CurrentTime in SetFocus
Index: dlls/x11drv/window.c =================================================================== RCS file: /home/wine/wine/dlls/x11drv/window.c,v retrieving revision 1.53 diff -u -r1.53 window.c --- dlls/x11drv/window.c 19 May 2003 19:08:57 -0000 1.53 +++ dlls/x11drv/window.c 18 Jun 2003 20:50:08 -0000 @@ -1243,8 +1359,9 @@ /* we must not use CurrentTime (ICCCM), so try to use last message time instead */ /* FIXME: this is not entirely correct */ + /* NOTE - not using CurrentTime here causes focus problems with some fullscreen apps */ XSetInputFocus( display, win, RevertToParent, - /*CurrentTime*/ GetMessageTime() + X11DRV_server_startticks ); + CurrentTime /*GetMessageTime() + X11DRV_server_startticks*/ ); if (X11DRV_PALETTE_PaletteFlags & X11DRV_PALETTE_PRIVATE) XInstallColormap( display, X11DRV_PALETTE_PaletteXColormap ); }