[X-tt-list:95] Re: (patch seq: 5752) A patch for preventing XAA crash

Chisato Yamauchi cyamauch @ plamo.linet.gr.jp
2003年 8月 13日 (水) 16:52:13 JST


  Hi,

  Our investigation has progressed, so we report it.

  After I sent patch:5752, we were able to prepare a complete patch.
We attach the patch.  The garbage problem is also solved!

  The investigation of this problem is done by Koike Kazuhiko.
Please write his name FIRST in ChangeLog when applying the attached 
patch.

  Thanks.

======================================================
    After X-TT Project
-------------- next part --------------
*** xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c.orig	2000-09-26 08:56:14.000000000 +0900
--- xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c	2003-08-12 16:18:03.000000000 +0900
***************
*** 1472,1477 ****
--- 1472,1482 ----
     pCache = &cacheRoot[(*current)++];
     if(*current >= max) *current = 0;
  
+    if ( pCache==NULL ){
+        ErrorF("Something's wrong in XAACacheTile() [pCache==NULL]\n");
+        return pCache;
+    }
+ 
     pCache->serialNumber = pPix->drawable.serialNumber;
     pCache->trans_color = pCache->bg = pCache->fg = -1;
     pCache->orig_w = w;  pCache->orig_h = h;
*** xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c.orig	2003-02-18 01:08:29.000000000 +0900
--- xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c	2003-08-12 18:47:13.000000000 +0900
***************
*** 164,172 ****
  
  	     XAACacheInfoPtr pCache = 
  			(*infoRec->CacheTile)(infoRec->pScrn, pPix);
! 	     (*infoRec->FillCacheBltRects)(infoRec->pScrn, GXcopy, ~0,
! 					nBox, pBox, xorg, yorg, pCache);
! 	     return;
  	}
  
  	if(infoRec->FillImageWriteRects && 
--- 164,174 ----
  
  	     XAACacheInfoPtr pCache = 
  			(*infoRec->CacheTile)(infoRec->pScrn, pPix);
! 	     if(pCache) {
! 		 (*infoRec->FillCacheBltRects)(infoRec->pScrn, GXcopy, ~0,
! 					       nBox, pBox, xorg, yorg, pCache);
! 		 return;
! 	     }
  	}
  
  	if(infoRec->FillImageWriteRects && 


X-tt-list メーリングリストの案内