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

Back to archive index

David Dawes dawes****@XFree*****
2003年 8月 14日 (木) 10:41:28 JST


Could you get some more information from XAACacheTile() that might show
why pCache is NULL?  The values of size and the pCachePriv fields that
get used might help.

Thanks.

David

On Wed, Aug 13, 2003 at 04:52:13PM +0900, Chisato Yamauchi wrote:
>  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

>*** 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 メーリングリストの案内
Back to archive index