[Xquartz-dev] Possible white rectangle fix

Jeremy Huddleston jeremyhu at apple.com
Wed Dec 17 15:11:36 PST 2008


After doing an audit of the Tiger and Leopard X11 sources for  
viewable, realized, and windows_hidden, I think I have a fix for the  
white-rectangle bug.  I've tested it and can't get it to trigger any  
of the ways that I was able to trigger it before (that doesn't mean  
it's completely gone... just I can't trigger it any more).

I'm going to start building 2.3.2_rc4 to get this out into the masses.

--Jeremy

diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/ 
rootlessWindow.c
index 74c5dbb..da02fe0 100644
--- a/miext/rootless/rootlessWindow.c
+++ b/miext/rootless/rootlessWindow.c
@@ -632,7 +632,7 @@ RootlessReorderWindow(WindowPtr pWin)
  {
      RootlessWindowRec *winRec = WINREC(pWin);

-    if (winRec != NULL && !winRec->is_reorder_pending) {
+    if (pWin->realized && winRec != NULL && !winRec- 
 >is_reorder_pending && !windows_hidden) {
          WindowPtr newPrevW;
          RootlessWindowRec *newPrev;
          RootlessFrameID newPrevID;
@@ -1662,7 +1662,10 @@ RootlessOrderAllWindows (void)
  {
      int i;
      WindowPtr pWin;
-
+
+    if (windows_hidden)
+        return;
+
      RL_DEBUG_MSG("RootlessOrderAllWindows() ");
      for (i = 0; i < screenInfo.numScreens; i++) {
        if (screenInfo.screens[i] == NULL) continue;



On Dec 10, 2008, at 07:13, Richard Tobin wrote:

> In RootlessRepositionWindow() in rootlessWindow.c, change the
> call to RootlessReorderWindow() so that it only happens if the
> window is realized:
>
>    if(pWin->realized)
> 	RootlessReorderWindow(pWin);
>
> I don't know if this is the right way to do it, but it eliminates the
> white rectangle problem for me.
>
> -- Richard
>
> -- 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
>
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev



More information about the Xquartz-dev mailing list