[xserver-commit] xserver/fb fbpixmap.c,1.14,1.15 fbscreen.c,1.14,1.15

Keith Packard xserver-commit@pdx.freedesktop.org
Mon, 01 Dec 2003 17:59:40 -0800


Committed by: keithp

Update of /cvs/xserver/xserver/fb
In directory pdx:/tmp/cvs-serv28394/fb

Modified Files:
	fbpixmap.c fbscreen.c 
Log Message:
	* composite/compinit.c: (compCloseScreen), (compScreenInit):
	* composite/compint.h:
	* composite/compwindow.c: (compPositionWindow), (compClipNotify),
	(compWindowUpdateAutomatic):
	Wrap ClipNotify to see region motions during MoveWindow.
	
	Check window reorigin in PositionWindow and bump pixmap
	serial numbers to revalidate GCs.

	Fix picture clip region origin in automatic update
	
	* damageext/damageext.c: (DamageClientCallback):
	Initialize client private 'critical' value
	
	* fb/fbpixmap.c: (fbValidateBits), (fbValidateDrawable):
	* fb/fbscreen.c: (fbFinishScreenInit):
	Clean up pixmap bounds checking code to only affect
	contents allocated by fb.
	
	* render/mipict.c: (miCompositeSourceValidate),
	(miComputeCompositeRegion):
	Oops.  Call SourceValidate for Composite operations.

	* configure.ac:
	* hw/kdrive/Makefile.am:
	* hw/kdrive/chips/.cvsignore:
	* hw/kdrive/chips/Imakefile:
	* hw/kdrive/chips/Makefile.am:
	* hw/kdrive/chips/chips.c: (chipsRandRSetConfig), (chipsRandRInit),
	(chipsFinishInitScreen), (chipsCreateResources):
	* hw/kdrive/chips/chipsdraw.c: (chipsWaitIdle),
	(chipsPrepareSolid), (chipsPrepareCopy), (chipsDrawInit),
	(chipsDrawEnable):
	Add Xchips server (vesa based)


Index: fbpixmap.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbpixmap.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- fbpixmap.c	17 Nov 2003 22:09:12 -0000	1.14
+++ fbpixmap.c	2 Dec 2003 01:59:38 -0000	1.15
@@ -370,6 +370,7 @@
 	}
 	bits++;
     }
+    return TRUE;
 }
 
 void
@@ -378,12 +379,15 @@
     FbStip	*bits, *first, *last;
     int		stride, bpp;
     int		xoff, yoff;
-    int		height;
-    Bool	failed;
     
     if (pDrawable->type != DRAWABLE_PIXMAP)
 	pDrawable = (DrawablePtr) fbGetWindowPixmap(pDrawable);
     fbGetStipDrawable(pDrawable, bits, stride, bpp, xoff, yoff);
+    /*
+     * Only validate contents allocated along with the header
+     */
+    if ((unsigned) ((char *) first - (char *) pDrawable) > 200)
+	return;
     first = bits - stride;
     last = bits + stride * pDrawable->height;
     if (!fbValidateBits (first, stride, FB_HEAD_BITS) ||

Index: fbscreen.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbscreen.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- fbscreen.c	11 Sep 2003 05:12:50 -0000	1.14
+++ fbscreen.c	2 Dec 2003 01:59:38 -0000	1.15
@@ -175,6 +175,7 @@
     VisualID	defaultVisual;
     int		imagebpp = bpp;
 
+#if 0
 #ifdef FB_DEBUG
     int	stride;
     
@@ -186,6 +187,7 @@
     fbSetBits ((FbStip *) ((char *) pbits + stride * ysize),
 			   stride / sizeof (FbStip), FB_TAIL_BITS);
 #endif
+#endif
     /*
      * By default, a 24bpp screen will use 32bpp images, this avoids
      * problems with many applications which just can't handle packed