[X-tt-list:93] Re: Xのクラッシュに悩まされてます

Zurück zum Archiv-Index

Koike Kazuhiko kazhi****@mozil*****
2003年 8月 13日 (水) 07:25:41 JST


On 08/12/2003 06:33 PM, Chisato Yamauchi wrote:
>   ここなんですけど,以下のようにするとどうなりますか?
> 
> 	     XAACacheInfoPtr pCache = 
> 			(*infoRec->CacheTile)(infoRec->pScrn, pPix);
> 	     if(pCache) (*infoRec->FillCacheBltRects)(infoRec->pScrn, GXcopy, ~0,
> 					nBox, pBox, xorg, yorg, pCache);
>              else goto next;
> 	     return;
> 	}
>     next:
> 	if(infoRec->FillImageWriteRects && 
> 		!(infoRec->FillImageWriteRectsFlags & NO_GXCOPY)) {
> 
> 
> pCache が NULL の時に return で帰らずに次の処理に飛ばす,と.

if (pCache) {
   (*infoRec->FillCacheBltRects)(infoRec->pScrn, GXcopy, ~0,
 					nBox, pBox, xorg, yorg, pCache);
    return;
}

これと同じですね。

描画の問題がなくなりました。いい感じです。pCacheがNULLの場合でも以下のif
文の中が実行されているようです。


BAILOUT:

    if(what == PW_BACKGROUND) {
    XAA_SCREEN_PROLOGUE (pScreen, PaintWindowBackground);
    (*pScreen->PaintWindowBackground) (pWin, prgn, what);
    XAA_SCREEN_EPILOGUE(pScreen, PaintWindowBackground, XAAPaintWindow);
    } else {

-- 
小池和彦@もじら組
http://www.mozilla.gr.jp/~kazhik/




X-tt-list メーリングリストの案内
Zurück zum Archiv-Index