Bug 1816 - Restacks are incorrectly optimized away in rootless mode
Summary: Restacks are incorrectly optimized away in rootless mode
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/XQuartz (show other bugs)
Version: 6.8.1
Hardware: PowerPC All
: high normal
Assignee: Torrey T. Lyons
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-09 22:00 UTC by Torrey T. Lyons
Modified: 2005-04-02 20:35 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Patch to fix for Mac OS X (417 bytes, patch)
2004-11-09 22:02 UTC, Torrey T. Lyons
no flags Details | Splinter Review
[FIXED_X11R68x] Patch to fix for Cygwin and Mac OS X (4.09 KB, patch)
2004-11-12 18:36 UTC, Torrey T. Lyons
roland.mainz: 6.8-branch+
Details | Splinter Review

Description Torrey T. Lyons 2004-11-09 22:00:18 UTC
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.
Comment 1 Torrey T. Lyons 2004-11-09 22:02:43 UTC
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.
Comment 2 Torrey T. Lyons 2004-11-12 18:36:37 UTC
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 3 Roland Mainz 2004-11-19 07:27:48 UTC
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 4 Roland Mainz 2004-11-19 07:28:10 UTC
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 5 Roland Mainz 2004-12-14 20:50:08 UTC
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 6 Roland Mainz 2004-12-14 20:53:55 UTC
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...
Comment 7 Adam Jackson 2005-04-03 14:35:47 UTC
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.