From 97c82ce0510808ea9d8a37a0a121e750f6dd8158 Mon Sep 17 00:00:00 2001 From: Eamon Walsh Date: Mon, 17 Dec 2007 23:11:29 -0500 Subject: [PATCH] XACE: Restore the old background None behavior in response to bug #13683. From the X11 protocol spec: "If background None is specified, the window has no defined background." This means that toolkits and apps cannot rely on the "transparent" nature of the current implementation! At some point before the next release, XACE will switch back to a solid background as the default. --- Xext/xace.h | 6 ++++++ dix/window.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Xext/xace.h b/Xext/xace.h index de0e8fe81..6f92290a0 100644 --- a/Xext/xace.h +++ b/Xext/xace.h @@ -32,6 +32,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define XaceNumberEvents 0 #define XaceNumberErrors 0 +/* Default window background */ +#define XaceBackgroundNoneState None + /* security hooks */ /* Constants used to identify the available security hooks */ @@ -94,6 +97,9 @@ extern void XaceCensorImage( #else /* XACE */ +/* Default window background */ +#define XaceBackgroundNoneState None + /* Define calls away when XACE is not being built. */ #ifdef __GNUC__ diff --git a/dix/window.c b/dix/window.c index 0404655d4..33cf76b59 100644 --- a/dix/window.c +++ b/dix/window.c @@ -704,7 +704,7 @@ CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w, return NullWindow; } - pWin->backgroundState = BackgroundPixel; + pWin->backgroundState = XaceBackgroundNoneState; pWin->background.pixel = 0; pWin->borderIsPixel = pParent->borderIsPixel; @@ -1016,7 +1016,7 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) if (!pWin->parent) MakeRootTile(pWin); else { - pWin->backgroundState = BackgroundPixel; + pWin->backgroundState = XaceBackgroundNoneState; pWin->background.pixel = 0; } }