On 10/28/2010 04:57 PM, Tiago Vignatti wrote:
diff --git a/dix/window.c b/dix/window.c
index cfebb9d..7a47221 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -137,6 +137,8 @@ Equipment Corporation.
   *    ChangeWindowDeviceCursor
   ******/

+Bool bgNoneRoot = FALSE;
+
  static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11};
  static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88};

@@ -463,6 +465,10 @@ InitRootWindow(WindowPtr pWin)
      if (party_like_its_1989) {
          MakeRootTile(pWin);
          backFlag |= CWBackPixmap;
+    } else if (pScreen->canDoBGNoneRoot&&  bgNoneRoot) {
+        pWin->backgroundState = XaceBackgroundNoneState(pWin);
+        pWin->background.pixel = pScreen->whitePixel;
+        backFlag |= CWBackPixmap;
      } else {
        if (whiteRoot)
              pWin->background.pixel = pScreen->whitePixel;

I think this part should be harmonized with ChangeWindowAttributes. It should be possible to set the root window background to None from clients also. Currently is seems that MakeRootTile is enforced in ChangeWindowAttributes even though I can't find justification for that.

From Xlib Programming manual 3rd edition, section "4.3.1.1 background_pixmap": Changing the background_pixmap attribute of the root window to None or ParentRelative restores the default background, which is server-dependent.

In my opinion the command line parameters should be taken into account in ChangeWindowAttributes as well so that MakeRootTile is not enforced there.

With that change:
    Reviewed-by: Rami Ylimäki <[email protected]>

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to