In rootless mode, restacks should never be optimized away even if they don't appear to be necessary. Ie. the X server should still try to bring a window to the front even if it already is the front-most window. This is because the underlying window system may have other non-X11 windows that the X server is not aware of. There is a special test for the ROOTLESS define in Xserver/dix/window.c to not optimize away apparently unneeded restacks. Unfortunately, ROOTLESS is not actually defined by the Imakefiles even when it should be. This is fixed in the top of the tree the right way by having a UseRootless Imake variable and setting a ROOTLESS define everywhere when UseRootless is YES. Cygwin and Mac OS X builds set UseRootless appropriately as needed. This makes handling these rootless edge cases easy and consistent. This requires patches to 6 files scattered throughout the tree, however. A trivial patch, which fixes this issue on Mac OS X, but not Cygwin is below. If this is an important problem for Cygwin/X for the 6.8.2 it is easy to add a simple test for Cygwin as well. Not sure which of the three ways to go is best for 6.8.2 (Mac OS X only, Mac OS X and Cygwin tests, merge UseRootless code from top of tree) but at least the Mac OS X-specific patch is a minimum since this issue is noticable to users in 6.8.1.
Created attachment 1268 [details] [review] Patch to fix for Mac OS X Apply this to Xserver/dix/Imakefile to fix bug on Mac OS X only.
Created attachment 1300 [details] [review] [FIXED_X11R68x] Patch to fix for Cygwin and Mac OS X This patch fixes this issue for Mac OS X and Cygwin. It follows what is done in the top of the tree by defining a general ROOTLESS define to specify when rootless specific code is needed, regardless of platform. It is probably preferable to the Mac OS X only fix.
Comment on attachment 1268 [details] [review] Patch to fix for Mac OS X Approved for the X11R6.8.x branch in the 2004-11-17 release-wranglers call. Please don't commit it yourself, I'll handle that once the CVS service is available again.
Comment on attachment 1300 [details] [review] [FIXED_X11R68x] Patch to fix for Cygwin and Mac OS X Approved for the X11R6.8.x branch in the 2004-11-17 release-wranglers call. Please don't commit it yourself, I'll handle that once the CVS service is available again.
Comment on attachment 1268 [details] [review] Patch to fix for Mac OS X Clearing approval status as we're taking the Cygwin+MacOSX patch (attachment #1300 [details] [review]) ...
Comment on attachment 1300 [details] [review] [FIXED_X11R68x] Patch to fix for Cygwin and Mac OS X Patch checked-in into X11R6.8.x stable branch: /cvs/xorg/xc/ChangeLog,v <-- ChangeLog new revision: 1.365.2.72; previous revision: 1.365.2.71 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/config/cf/X11.tmpl,v <-- X11.tmpl new revision: 1.35.2.1; previous revision: 1.35 /cvs/xorg/xc/config/cf/cygwin.cf,v <-- cygwin.cf new revision: 1.14.2.2; previous revision: 1.14.2.1 /cvs/xorg/xc/config/cf/darwin.cf,v <-- darwin.cf new revision: 1.4.2.1; previous revision: 1.4 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/dix/Imakefile,v <-- Imakefile new revision: 1.2.4.1; previous revision: 1.2 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/fb/fb.h,v <-- fb.h new revision: 1.6.2.1; previous revision: 1.6 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/miext/damage/Imakefile,v <-- Imakefile new revision: 1.4.2.1; previous revision: 1.4 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. Mailing the commit message to xorg-commit@lists.freedesktop.org...
mass update: the fix for this bug was applied to both HEAD and the stable 6.8 branch, but the bug was never closed. closing now.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.