xserver: Branch 'glucose-2' - 2 commits

Alan Hourihane alanh at kemper.freedesktop.org
Tue Mar 27 15:22:31 EEST 2007


 glucose/Makefile.am |    3 +--
 render/filter.c     |   33 ++++++++++++++++++++++-----------
 2 files changed, 23 insertions(+), 13 deletions(-)

New commits:
diff-tree bd07acb187c391fc3263081771b9c67690661bde (from c5443903e1219be549dc4d895df9e08f48dfc832)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Tue Mar 27 13:22:29 2007 +0100

    reverse a portion of the render patch.

diff --git a/render/filter.c b/render/filter.c
index c06e28f..71375da 100644
--- a/render/filter.c
+++ b/render/filter.c
@@ -271,18 +271,24 @@ PictureResetFilters (ScreenPtr pScreen)
 int
 SetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams)
 {
-    ScreenPtr		pScreen;
-    PictureScreenPtr	ps;
     PictFilterPtr	pFilter;
     xFixed		*new_params;
-    int			i, result;
+    int			i, s, result;
 
-    if (!pPicture->pDrawable)
-       return Success;
+    pFilter = PictureFindFilter (screenInfo.screens[0], name, len);
 
-    pScreen = pPicture->pDrawable->pScreen;
-    ps = GetPictureScreen(pScreen);
-    pFilter = PictureFindFilter (pScreen, name, len);
+    if (pPicture->pDrawable == NULL) {
+	/* For source pictures, the picture isn't tied to a screen.  So, ensure
+	 * that all screens can handle a filter we set for the picture.
+	 */
+	for (s = 0; s < screenInfo.numScreens; s++) {
+	    if (PictureFindFilter (screenInfo.screens[s], name, len)->id !=
+		pFilter->id)
+	    {
+		return BadMatch;
+	    }
+	}
+    }
 
     if (!pFilter)
 	return BadName;
@@ -307,8 +313,13 @@ SetPictureFilter (PicturePtr pPicture, c
 	pPicture->filter_params[i] = params[i];
     pPicture->filter = pFilter->id;
 
-    result = (*ps->ChangePictureFilter) (pPicture, pPicture->filter,
-					 params, nparams);
-    return result;
+    if (pPicture->pDrawable) {
+	ScreenPtr pScreen = pPicture->pDrawable->pScreen;
+	PictureScreenPtr ps = GetPictureScreen(pScreen);
+
+	result = (*ps->ChangePictureFilter) (pPicture, pPicture->filter,
+					     params, nparams);
+	return result;
+    }
     return Success;
 }
diff-tree c5443903e1219be549dc4d895df9e08f48dfc832 (from a6f7f15e506b3a7b9ab422ae7a635e5ee14d9a6b)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Tue Mar 27 13:21:18 2007 +0100

    Remove file.

diff --git a/glucose/Makefile.am b/glucose/Makefile.am
index b984b15..7af86ca 100644
--- a/glucose/Makefile.am
+++ b/glucose/Makefile.am
@@ -26,8 +26,7 @@ libglucose_la_SOURCES = \
 	glucose_context.c \
 	glucose_drawable.c \
 	glucose_format.c \
-	glucose_info.c \
-	glc_priv.h 
+	glucose_info.c
 
 libglucose_la_LIBADD = $(GLUCOSE_LIBS)
 



More information about the xorg-commit mailing list