Author: branden Date: 2003-09-10 15:27:31 -0500 (Wed, 10 Sep 2003) New Revision: 503
Modified: trunk/debian/changelog trunk/debian/patches/000_stolen_from_HEAD.diff Log: debian/patches/000_stolen_from_HEAD.diff: fix an XAA pixmap cache server crash that can happen in some cases when the off-screen memory is heavily fragmented. (Closes: #208804) Modified: trunk/debian/changelog =================================================================== --- trunk/debian/changelog 2003-09-10 18:28:38 UTC (rev 502) +++ trunk/debian/changelog 2003-09-10 20:27:31 UTC (rev 503) @@ -94,8 +94,12 @@ * debian/xterm.{preinst,postinst}.in: migrate removal of obsolete old xterm alternative to the package preinst script where it belongs - -- Branden Robinson <[EMAIL PROTECTED]> Wed, 10 Sep 2003 07:10:14 -0500 + * patch #000_stolen_from_HEAD: + + Fix an XAA pixmap cache server crash that can happen in some cases + when the off-screen memory is heavily fragmented. (Closes: #208804) + -- Branden Robinson <[EMAIL PROTECTED]> Wed, 10 Sep 2003 15:20:48 -0500 + xfree86 (4.2.1-11) unstable; urgency=medium * urgency set to medium because bug #206790 bites a lot of people (but, Modified: trunk/debian/patches/000_stolen_from_HEAD.diff =================================================================== --- trunk/debian/patches/000_stolen_from_HEAD.diff 2003-09-10 18:28:38 UTC (rev 502) +++ trunk/debian/patches/000_stolen_from_HEAD.diff 2003-09-10 20:27:31 UTC (rev 503) @@ -274,6 +274,11 @@ #646). Backported from XFree86 CVS HEAD. +(xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c): + 376. Fix an XAA pixmap cache server crash that can happen in some cases + when the off-screen memory is heavily fragmented (David Dawes, based on + #5752, Koike Kazuhiko, Chisato Yamauchi). + Index: xc/nls/XI18N_OBJS/Imakefile =================================================================== RCS file: /cvs/xc/nls/XI18N_OBJS/Imakefile,v @@ -5541,3 +5546,27 @@ #endif #ifndef OPEN_MAX #if defined(SVR4) || defined(__EMX__) +--- xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c~ 2003-09-10 15:12:05.000000000 -0500 ++++ xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c 2003-09-10 15:12:19.000000000 -0500 +@@ -763,6 +763,7 @@ + 1) Don't take up more than half the memory. + 2) Don't bother if you can't get at least four. + 3) Don't make more than MAX_512. ++ 4) Don't have any of there are no 256x256s. + + 256x256 - + 1) Don't take up more than a quarter of the memory enless there +@@ -786,6 +787,13 @@ + else Target256 = ntotal >> 4; + if(Target256 < 4) Target256 = 0; + ++ if(Num512 && Num256 < 4) { ++ while(Num512 && Num256 < Target256) { ++ SubdivideList(&List512, &List256); ++ Num256 += 4; Num512--; ++ } ++ } ++ + if(!Num512) { /* no room */ + } else if((Num512 < 4) || (!Target512)) { + while(Num512) {