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

Zurück zum Archiv-Index

Mark Vojkovich mvojk****@XFree*****
2003年 8月 14日 (木) 12:27:24 JST


 I do not believe it is possible for XAACacheTile to return NULL,
at least, not without some other fundamental bug somewhere else causing 
it.  Workarounds for a XAACacheTile that returns NULL is definitely
the wrong fix.


			Mark.


On Wed, 13 Aug 2003, David Dawes wrote:

> 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 メーリングリストの案内
Zurück zum Archiv-Index