[67284] trunk/dports/x11/xorg-server

jeremyhu at macports.org jeremyhu at macports.org
Tue May 4 08:59:25 PDT 2010


Revision: 67284
          http://trac.macports.org/changeset/67284
Author:   jeremyhu at macports.org
Date:     2010-05-04 08:59:23 -0700 (Tue, 04 May 2010)
Log Message:
-----------
xorg-server: Bump to 1.7.7

Modified Paths:
--------------
    trunk/dports/x11/xorg-server/Portfile

Added Paths:
-----------
    trunk/dports/x11/xorg-server/files/0001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
    trunk/dports/x11/xorg-server/files/0002-fb-Revert-fb-changes-that-broke-XQuartz.patch

Removed Paths:
-------------
    trunk/dports/x11/xorg-server/files/0001-XQuartz-GLX-Fix-Availability-for-Tiger-ppc-workaroun.patch
    trunk/dports/x11/xorg-server/files/0002-XQuartz-Minor-cleanup.patch
    trunk/dports/x11/xorg-server/files/0003-XQuartz-xpbproxy-Cleanup-xpbproxy-threading.patch
    trunk/dports/x11/xorg-server/files/0004-XQuartz-pbproxy-Make-standalone-xpbproxy-respect-the.patch
    trunk/dports/x11/xorg-server/files/0005-XQuartz-Constrain-the-pointer-to-the-updated-display.patch
    trunk/dports/x11/xorg-server/files/0006-Fix-crash-when-all-glyphs-of-a-given-depth-are-freed.patch
    trunk/dports/x11/xorg-server/files/0007-Fix-typos-in-the-swap-functions.patch
    trunk/dports/x11/xorg-server/files/0008-hw-xfree86-move-reference-counting-out-of-the-UseHWC.patch
    trunk/dports/x11/xorg-server/files/0009-XQuartz-Workaround-weird-key-data-reported-on-some-l.patch
    trunk/dports/x11/xorg-server/files/0010-XQuartz-Re-query-dixScreenOrigins-as-the-value-could.patch
    trunk/dports/x11/xorg-server/files/0011-XKB-Fix-garbage-initialization.patch
    trunk/dports/x11/xorg-server/files/0012-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch
    trunk/dports/x11/xorg-server/files/0013-fb-Revert-fb-changes-that-broke-XQuartz.patch
    trunk/dports/x11/xorg-server/files/0014-GLX-Remove-a-redundant-initialization.patch

Modified: trunk/dports/x11/xorg-server/Portfile
===================================================================
--- trunk/dports/x11/xorg-server/Portfile	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/Portfile	2010-05-04 15:59:23 UTC (rev 67284)
@@ -3,8 +3,7 @@
 PortSystem 1.0
 
 name		xorg-server
-version		1.7.6
-revision	1
+version		1.7.7
 categories	x11 devel
 maintainers	jeremyhu openmaintainer
 description	The X.org / Xquartz X server.
@@ -15,9 +14,9 @@
 #master_sites	http://xquartz.macosforge.org/downloads/src
 master_sites    http://xorg.freedesktop.org/archive/individual/xserver/
 
-checksums           md5     178225f499ec10fa9d312d1c339e6a39 \
-                    sha1    77a8c3dec86960e1be818df3a75d69b5fad6a3c0 \
-                    rmd160  811ca10c01da9b4bdeb743ee90b6845971dfd4c7
+checksums           md5     8c0146330fb155c23d947ac37d431d4b \
+                    sha1    0f1b71363843b7e394d6de62d0db5b74d3e645ef \
+                    rmd160  19ab82795abe122cd267e4718152bf87af465829
 
 use_bzip2	yes
 use_parallel_build yes
@@ -75,20 +74,8 @@
 configure.cppflags-append -I/usr/include -I${filespath}/dri
 
 patchfiles \
-        0001-XQuartz-GLX-Fix-Availability-for-Tiger-ppc-workaroun.patch \
-        0002-XQuartz-Minor-cleanup.patch \
-        0003-XQuartz-xpbproxy-Cleanup-xpbproxy-threading.patch \
-        0004-XQuartz-pbproxy-Make-standalone-xpbproxy-respect-the.patch \
-        0005-XQuartz-Constrain-the-pointer-to-the-updated-display.patch \
-        0006-Fix-crash-when-all-glyphs-of-a-given-depth-are-freed.patch \
-        0007-Fix-typos-in-the-swap-functions.patch \
-        0008-hw-xfree86-move-reference-counting-out-of-the-UseHWC.patch \
-        0009-XQuartz-Workaround-weird-key-data-reported-on-some-l.patch \
-        0010-XQuartz-Re-query-dixScreenOrigins-as-the-value-could.patch \
-        0011-XKB-Fix-garbage-initialization.patch \
-        0012-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch \
-        0013-fb-Revert-fb-changes-that-broke-XQuartz.patch \
-        0014-GLX-Remove-a-redundant-initialization.patch
+        0001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
+        0002-fb-Revert-fb-changes-that-broke-XQuartz.patch
 
 patch.args -p1
 

Added: trunk/dports/x11/xorg-server/files/0001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -0,0 +1,165 @@
+From ba1cac5853e9f916a8c3a37af1c7b637882f21ea Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Fri, 30 Apr 2010 13:08:25 -0700
+Subject: [PATCH 1/2] Workaround the GC clipping problem in miPaintWindow and add some debugging output.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+(cherry picked from commit a9c526bbe10ecf97b6c065fdbc03cc341917a5a6)
+---
+ mi/miexpose.c |  105 +++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 files changed, 94 insertions(+), 11 deletions(-)
+
+diff --git xorg-server-1.7.7/mi/miexpose.c xorg-server-1.7.7/mi/miexpose.c
+index f52b492..21493cb 100644
+--- xorg-server-1.7.7/mi/miexpose.c
++++ xorg-server-1.7.7/mi/miexpose.c
+@@ -524,6 +524,7 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+ void RootlessStartDrawing(WindowPtr pWin);
+ void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
+ Bool IsFramedWindow(WindowPtr pWin);
++#include "../fb/fb.h"
+ #endif 
+ 
+ void
+@@ -551,24 +552,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     Bool	solid = TRUE;
+     DrawablePtr	drawable = &pWin->drawable;
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative);
++    ErrorF("      Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1,
++	                               prgn->extents.x2 - prgn->extents.x1,
++	                               prgn->extents.y2 - prgn->extents.y1);
++    ErrorF("      Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y,
++	                                       pWin->winSize.extents.x1, pWin->winSize.extents.y1,
++	                                       pWin->winSize.extents.x2 - pWin->winSize.extents.x1,
++					       pWin->winSize.extents.y2 - pWin->winSize.extents.y1);
++    ErrorF("     Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y,
++				       pWin->drawable.width, pWin->drawable.height);
++#endif
++
+ #ifdef ROOTLESS
+     if(!drawable || drawable->type == UNDRAWABLE_WINDOW)
+ 	return;
+-
+-    if(IsFramedWindow(pWin)) {
+-        RootlessStartDrawing(pWin);
+-        RootlessDamageRegion(pWin, prgn);
+-    
+-        if(pWin->backgroundState == ParentRelative) {
+-            if((what == PW_BACKGROUND) || 
+-               (what == PW_BORDER && !pWin->borderIsPixel))
+-                RootlessSetPixmapOfAncestors(pWin);
+-        }
+-    }
+ #endif
+     
+     if (what == PW_BACKGROUND)
+     {
++#ifdef ROOTLESS
++	if(IsFramedWindow(pWin)) {
++	    RootlessStartDrawing(pWin);
++	    RootlessDamageRegion(pWin, prgn);
++
++	    if(pWin->backgroundState == ParentRelative) {
++		RootlessSetPixmapOfAncestors(pWin);
++	    }
++	}
++#endif
++
+ 	while (pWin->backgroundState == ParentRelative)
+ 	    pWin = pWin->parent;
+ 
+@@ -590,6 +604,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     {
+ 	PixmapPtr   pixmap;
+ 
++#ifdef ROOTLESS
++	if(IsFramedWindow(pWin)) {
++	    RootlessStartDrawing(pWin);
++	    RootlessDamageRegion(pWin, prgn);
++	    
++	    if(!pWin->borderIsPixel &&
++		pWin->backgroundState == ParentRelative) {
++		RootlessSetPixmapOfAncestors(pWin);
++	    }
++	}
++#endif
++
+ 	tile_x_off = drawable->x;
+ 	tile_y_off = drawable->y;
+ 	
+@@ -598,6 +624,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ 	    return;
+ 	pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
+ 	drawable = &pixmap->drawable;
++
++#ifdef XQUARTZ_CLIP_DEBUG
++	ErrorF("     Draw: %d %d %d %d\n",
++	       drawable->x, drawable->y, drawable->width, drawable->height);    
++#endif
++	
+ #ifdef COMPOSITE
+ 	draw_x_off = pixmap->screen_x;
+ 	draw_y_off = pixmap->screen_y;
+@@ -660,6 +692,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     dixChangeGC (NullClient, pGC, gcmask, NULL, gcval);
+     ValidateGC (drawable, pGC);
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
++#endif
++    
++#ifdef XQUARTZ
++    /* Looks like our clipping isn't set right for some reason:
++     * http://xquartz.macosforge.org/trac/ticket/290
++     */
++    if(what == PW_BORDER) {
++
++#if 0
++	if(solid) {
++#if 1
++	    fbFillRegionSolid(&pWin->drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       pWin->drawable.bitsPerPixel));
++#else
++	    fbFillRegionSolid(drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       drawable->bitsPerPixel));
++#endif
++	    return;
++	}
++#endif
++    
++	pGC->pCompositeClip->extents.x1 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y1 += prgn->extents.y1;
++	pGC->pCompositeClip->extents.x2 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y2 += prgn->extents.y1;
++	
++	if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width)
++	    pGC->pCompositeClip->extents.x2 = drawable->pScreen->width;
++	if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height)
++	    pGC->pCompositeClip->extents.y2 = drawable->pScreen->height;
++    }
++#endif
++
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);    
++#endif
++
+     numRects = REGION_NUM_RECTS(prgn);
+     pbox = REGION_RECTS(prgn);
+     for (i= numRects; --i >= 0; pbox++, prect++)
+-- 
+1.7.0.4
+

Deleted: trunk/dports/x11/xorg-server/files/0001-XQuartz-GLX-Fix-Availability-for-Tiger-ppc-workaroun.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0001-XQuartz-GLX-Fix-Availability-for-Tiger-ppc-workaroun.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0001-XQuartz-GLX-Fix-Availability-for-Tiger-ppc-workaroun.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,27 +0,0 @@
-From b444205399c236c21c68e2dda32ce51497dcd7e4 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at freedesktop.org>
-Date: Fri, 19 Mar 2010 15:26:50 -0700
-Subject: [PATCH 01/14] XQuartz: GLX: Fix Availability for Tiger ppc workaround
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
-(cherry picked from commit 88baffc25a193c7c7154a94a687e7cb0f8b180ba)
----
- hw/xquartz/GL/indirect.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/GL/indirect.c xorg-server-1.7.6/hw/xquartz/GL/indirect.c
-index 44380ff..5035443 100644
---- xorg-server-1.7.6/hw/xquartz/GL/indirect.c
-+++ xorg-server-1.7.6/hw/xquartz/GL/indirect.c
-@@ -120,7 +120,7 @@
- /* Tiger PPC doesn't have the associated symbols, but glext.h says it does.  Liars!
-  * http://trac.macports.org/ticket/20638
-  */
--#if defined(__ppc__) && MAC_OS_X_VERSION_MIN_REQUIRED == 1040
-+#if defined(__ppc__) && MAC_OS_X_VERSION_MIN_REQUIRED < 1050
- #undef GL_EXT_gpu_program_parameters
- #define GL_EXT_gpu_program_parameters 0
- #endif
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0002-XQuartz-Minor-cleanup.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0002-XQuartz-Minor-cleanup.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0002-XQuartz-Minor-cleanup.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,51 +0,0 @@
-From b3f4a9a64be4b6bcc81f13cf9677a486b42dd2b4 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Fri, 19 Mar 2010 17:23:12 -0700
-Subject: [PATCH 02/14] XQuartz: Minor cleanup
-
-Move RandRInit to where it will need to be (not yet implemented)
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
-(cherry picked from commit 7da4f9df9c6490e3e604c170415d5af2d8c8ff29)
----
- hw/xquartz/quartz.c |   14 +++++++-------
- 1 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/quartz.c xorg-server-1.7.6/hw/xquartz/quartz.c
-index c4142a8..3c04205 100644
---- xorg-server-1.7.6/hw/xquartz/quartz.c
-+++ xorg-server-1.7.6/hw/xquartz/quartz.c
-@@ -166,6 +166,11 @@ void QuartzInitOutput(
-         FatalError("Could not register block and wakeup handlers.");
-     }
- 
-+#if defined(RANDR) && !defined(FAKE_RANDR)
-+    if(!QuartzRandRInit(pScreen))
-+        FatalError("Failed to init RandR extension.\n");
-+#endif
-+
-     // Do display mode specific initialization
-     quartzProcs->DisplayInit();
- }
-@@ -259,16 +264,11 @@ void QuartzUpdateScreens(void) {
-     pScreen->width = width;
-     pScreen->height = height;
-     
--#ifndef FAKE_RANDR
--    if(!QuartzRandRInit(pScreen))
--        FatalError("Failed to init RandR extension.\n");
--#endif
--    
-     DarwinAdjustScreenOrigins(&screenInfo);
-     quartzProcs->UpdateScreen(pScreen);
-     
--    sx = dixScreenOrigins[pScreen->myNum].x + darwinMainScreenX;
--    sy = dixScreenOrigins[pScreen->myNum].y + darwinMainScreenY;
-+    sx = x + darwinMainScreenX;
-+    sy = y + darwinMainScreenY;
-     
-     /* Adjust the root window. */
-     pRoot = WindowTable[pScreen->myNum];
--- 
-1.7.0.2
-

Added: trunk/dports/x11/xorg-server/files/0002-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0002-fb-Revert-fb-changes-that-broke-XQuartz.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0002-fb-Revert-fb-changes-that-broke-XQuartz.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -0,0 +1,339 @@
+From d678bddf9e58b7973bc9cddf242ddc0cf050c253 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at freedesktop.org>
+Date: Sun, 31 Jan 2010 01:38:53 -0800
+Subject: [PATCH 2/2] fb: Revert fb changes that broke XQuartz
+
+http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
+Revert "fb: backport fb changes from master for src window operations."
+
+This reverts commit 66b6e2fd49fdc650703e56aa176a902e4921251c.
+This reverts commit 2d6a8f668342a5190cdf43b5d385f592d10f5900.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
+---
+ fb/fb.h        |   76 +++++++++++++++++++++----------------------------
+ fb/fbpict.c    |   86 ++++++++++++++++---------------------------------------
+ fb/fbtrap.c    |    6 +--
+ fb/wfbrename.h |    1 -
+ 4 files changed, 60 insertions(+), 109 deletions(-)
+
+diff --git xorg-server-1.7.7/fb/fb.h xorg-server-1.7.7/fb/fb.h
+index 8b2839a..37de71e 100644
+--- xorg-server-1.7.7/fb/fb.h
++++ xorg-server-1.7.7/fb/fb.h
+@@ -700,41 +700,38 @@ typedef struct {
+ #define __fbPixOffXPix(pPix)	(__fbPixDrawableX(pPix))
+ #define __fbPixOffYPix(pPix)	(__fbPixDrawableY(pPix))
+ 
+-#define fbGetDrawablePixmap(pDrawable, pixmap, xoff, yoff) {			\
+-    if ((pDrawable)->type != DRAWABLE_PIXMAP) { 				\
+-	(pixmap) = fbGetWindowPixmap(pDrawable);				\
+-	(xoff) = __fbPixOffXWin(pixmap); 					\
+-	(yoff) = __fbPixOffYWin(pixmap); 					\
+-    } else { 									\
+-	(pixmap) = (PixmapPtr) (pDrawable);					\
+-	(xoff) = __fbPixOffXPix(pixmap); 					\
+-	(yoff) = __fbPixOffYPix(pixmap); 					\
+-    } 										\
+-    fbPrepareAccess(pDrawable); 						\
+-}
+-
+-#define fbGetPixmapBitsData(pixmap, pointer, stride, bpp) {			\
+-    (pointer) = (FbBits *) (pixmap)->devPrivate.ptr; 			       	\
+-    (stride) = ((int) (pixmap)->devKind) / sizeof (FbBits); (void)(stride);	\
+-    (bpp) = (pixmap)->drawable.bitsPerPixel;  (void)(bpp); 			\
+-}
+-
+-#define fbGetPixmapStipData(pixmap, pointer, stride, bpp) {			\
+-    (pointer) = (FbStip *) (pixmap)->devPrivate.ptr; 			       	\
+-    (stride) = ((int) (pixmap)->devKind) / sizeof (FbStip); (void)(stride);	\
+-    (bpp) = (pixmap)->drawable.bitsPerPixel;  (void)(bpp); 			\
+-}
+-
+-#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { 		\
+-    PixmapPtr   _pPix; 								\
+-    fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff); 				\
+-    fbGetPixmapBitsData(_pPix, pointer, stride, bpp);				\
++#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
++    PixmapPtr   _pPix; \
++    if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
++	_pPix = fbGetWindowPixmap(pDrawable); \
++	(xoff) = __fbPixOffXWin(_pPix); \
++	(yoff) = __fbPixOffYWin(_pPix); \
++    } else { \
++	_pPix = (PixmapPtr) (pDrawable); \
++	(xoff) = __fbPixOffXPix(_pPix); \
++	(yoff) = __fbPixOffYPix(_pPix); \
++    } \
++    fbPrepareAccess(pDrawable); \
++    (pointer) = (FbBits *) _pPix->devPrivate.ptr; \
++    (stride) = ((int) _pPix->devKind) / sizeof (FbBits); (void)(stride); \
++    (bpp) = _pPix->drawable.bitsPerPixel;  (void)(bpp); \
+ }
+ 
+-#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { 	\
+-    PixmapPtr   _pPix; 								\
+-    fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff);				\
+-    fbGetPixmapStipData(_pPix, pointer, stride, bpp);				\
++#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
++    PixmapPtr   _pPix; \
++    if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
++	_pPix = fbGetWindowPixmap(pDrawable); \
++	(xoff) = __fbPixOffXWin(_pPix); \
++	(yoff) = __fbPixOffYWin(_pPix); \
++    } else { \
++	_pPix = (PixmapPtr) (pDrawable); \
++	(xoff) = __fbPixOffXPix(_pPix); \
++	(yoff) = __fbPixOffYPix(_pPix); \
++    } \
++    fbPrepareAccess(pDrawable); \
++    (pointer) = (FbStip *) _pPix->devPrivate.ptr; \
++    (stride) = ((int) _pPix->devKind) / sizeof (FbStip); (void)(stride); \
++    (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \
+ }
+ 
+ /*
+@@ -2082,16 +2079,9 @@ fbFillRegionSolid (DrawablePtr	pDrawable,
+ 		   FbBits	xor);
+ 
+ extern _X_EXPORT pixman_image_t *
+-image_from_pict (PicturePtr	pict,
+-		 Bool		has_clip,
+-		 Bool		is_src);
+-
+-extern _X_EXPORT pixman_image_t *
+-image_from_pict_18 (PicturePtr	pict,
+-		 Bool		has_clip,
+-		 int		*xoff,
+-		 int		*yoff);
+-
++image_from_pict (PicturePtr pict,
++		 Bool       has_clip,
++		 Bool       is_src);
+ extern _X_EXPORT void free_pixman_pict (PicturePtr, pixman_image_t *);
+ 
+ #endif /* _FB_H_ */
+diff --git xorg-server-1.7.7/fb/fbpict.c xorg-server-1.7.7/fb/fbpict.c
+index c046bae..8fdaa58 100644
+--- xorg-server-1.7.7/fb/fbpict.c
++++ xorg-server-1.7.7/fb/fbpict.c
+@@ -158,24 +158,19 @@ fbComposite (CARD8      op,
+ 	     CARD16     height)
+ {
+     pixman_image_t *src, *mask, *dest;
+-    int src_xoff, src_yoff;
+-    int msk_xoff, msk_yoff;
+-    int dst_xoff, dst_yoff;
+     
+-    miCompositeSourceValidate (pSrc, xSrc - xDst, ySrc - yDst, width, height);
++    miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height);
+     if (pMask)
+-	miCompositeSourceValidate (pMask, xMask - xDst, yMask - yDst, width, height);
++	miCompositeSourceValidate (pMask, xMask, yMask, width, height);
+     
+-    src = image_from_pict_18 (pSrc, FALSE, &src_xoff, &src_yoff);
+-    mask = image_from_pict_18 (pMask, FALSE, &msk_xoff, &msk_yoff);
+-    dest = image_from_pict_18 (pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict (pSrc, TRUE, TRUE);
++    mask = image_from_pict (pMask, TRUE, TRUE);
++    dest = image_from_pict (pDst, TRUE, FALSE);
+ 
+     if (src && dest && !(pMask && !mask))
+     {
+ 	pixman_image_composite (op, src, mask, dest,
+-				xSrc + src_xoff, ySrc + src_yoff,
+-				xMask + msk_xoff, yMask + msk_yoff,
+-				xDst + dst_xoff, yDst + dst_yoff,
++				xSrc, ySrc, xMask, yMask, xDst, yDst,
+ 				width, height);
+     }
+ 
+@@ -275,22 +270,22 @@ create_conical_gradient_image (PictGradient *gradient)
+ 
+ static pixman_image_t *
+ create_bits_picture (PicturePtr pict,
+-		     Bool       has_clip,
+-		     int	*xoff,
+-		     int	*yoff)
++		     Bool       has_clip)
+ {
+-    PixmapPtr pixmap;
+     FbBits *bits;
+     FbStride stride;
+-    int bpp;
++    int bpp, xoff, yoff;
+     pixman_image_t *image;
+     
+-    fbGetDrawablePixmap (pict->pDrawable, pixmap, *xoff, *yoff);
+-    fbGetPixmapBitsData(pixmap, bits, stride, bpp);
++    fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
++
++    bits = (FbBits*)((CARD8*)bits +
++		     (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
++		     (pict->pDrawable->x + xoff) * (bpp / 8));
+ 
+     image = pixman_image_create_bits (
+ 	pict->format,
+-	pixmap->drawable.width, pixmap->drawable.height,
++	pict->pDrawable->width, pict->pDrawable->height,
+ 	(uint32_t *)bits, stride * sizeof (FbStride));
+     
+     
+@@ -316,52 +311,30 @@ create_bits_picture (PicturePtr pict,
+ 	if (pict->clientClipType != CT_NONE)
+ 	    pixman_image_set_has_client_clip (image, TRUE);
+ 
+-	if (*xoff || *yoff)
+-	    pixman_region_translate (pict->pCompositeClip, *xoff, *yoff);
++	pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
+ 
+ 	pixman_image_set_clip_region (image, pict->pCompositeClip);
+ 
+-	if (*xoff || *yoff)
+-	    pixman_region_translate (pict->pCompositeClip, -*xoff, -*yoff);
++	pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
+     }
+     
+     /* Indexed table */
+     if (pict->pFormat->index.devPrivate)
+ 	pixman_image_set_indexed (image, pict->pFormat->index.devPrivate);
+ 
+-    /* Add in drawable origin to position within the image */
+-    *xoff += pict->pDrawable->x;
+-    *yoff += pict->pDrawable->y;
+-
+     return image;
+ }
+ 
+ static void
+-set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++set_image_properties (pixman_image_t *image, PicturePtr pict)
+ {
+     pixman_repeat_t repeat;
+     pixman_filter_t filter;
+     
+     if (pict->transform)
+     {
+-	/* For source images, adjust the transform to account
+-	 * for the drawable offset within the pixman image,
+-	 * then set the offset to 0 as it will be used
+-	 * to compute positions within the transformed image.
+-	 */
+-	if (!has_clip) {
+-	    struct pixman_transform	adjusted;
+-
+-	    adjusted = *pict->transform;
+-	    pixman_transform_translate(&adjusted,
+-				       NULL,
+-				       pixman_int_to_fixed(*xoff),
+-				       pixman_int_to_fixed(*yoff));
+-	    pixman_image_set_transform (image, &adjusted);
+-	    *xoff = 0;
+-	    *yoff = 0;
+-	} else
+-	    pixman_image_set_transform (image, pict->transform);
++	pixman_image_set_transform (
++	    image, (pixman_transform_t *)pict->transform);
+     }
+     
+     switch (pict->repeatType)
+@@ -388,8 +361,7 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
+     
+     if (pict->alphaMap)
+     {
+-	int alpha_xoff, alpha_yoff;
+-	pixman_image_t *alpha_map = image_from_pict_18 (pict->alphaMap, FALSE, &alpha_xoff, &alpha_yoff);
++	pixman_image_t *alpha_map = image_from_pict (pict->alphaMap, TRUE, TRUE);
+ 	
+ 	pixman_image_set_alpha_map (
+ 	    image, alpha_map, pict->alphaOrigin.x, pict->alphaOrigin.y);
+@@ -421,9 +393,10 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
+     pixman_image_set_source_clipping (image, TRUE);
+ }
+ 
+-
+ pixman_image_t *
+-image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++image_from_pict (PicturePtr pict,
++		 Bool has_clip,
++		 Bool is_src)
+ {
+     pixman_image_t *image = NULL;
+ 
+@@ -432,7 +405,7 @@ image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+ 
+     if (pict->pDrawable)
+     {
+-	image = create_bits_picture (pict, has_clip, xoff, yoff);
++	image = create_bits_picture (pict, has_clip);
+     }
+     else if (pict->pSourcePict)
+     {
+@@ -453,22 +426,14 @@ image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+ 	    else if (sp->type == SourcePictTypeConical)
+ 		image = create_conical_gradient_image (gradient);
+ 	}
+-	*xoff = *yoff = 0;
+     }
+     
+     if (image)
+-	set_image_properties (image, pict, has_clip, xoff, yoff);
++	set_image_properties (image, pict);
+     
+     return image;
+ }
+ 
+-pixman_image_t *
+-image_from_pict (PicturePtr pict, Bool has_clip, Bool is_src)
+-{
+-    int xoff = 0, yoff = 0;
+-    return image_from_pict_18(pict, has_clip, &xoff, &yoff);
+-}
+-
+ void
+ free_pixman_pict (PicturePtr pict, pixman_image_t *image)
+ {
+@@ -498,4 +463,3 @@ fbPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+ 
+     return TRUE;
+ }
+-
+diff --git xorg-server-1.7.7/fb/fbtrap.c xorg-server-1.7.7/fb/fbtrap.c
+index 5b5aeae..b1e1eff 100644
+--- xorg-server-1.7.7/fb/fbtrap.c
++++ xorg-server-1.7.7/fb/fbtrap.c
+@@ -40,8 +40,7 @@ fbAddTraps (PicturePtr	pPicture,
+ 	    int		ntrap,
+ 	    xTrap	*traps)
+ {
+-    int image_xoff, image_yoff;
+-    pixman_image_t *image = image_from_pict_18 (pPicture, FALSE, &image_xoff, &image_yoff);
++    pixman_image_t *image = image_from_pict (pPicture, FALSE, FALSE);
+ 
+     if (!image)
+ 	return;
+@@ -57,8 +56,7 @@ fbRasterizeTrapezoid (PicturePtr    pPicture,
+ 		      int	    x_off,
+ 		      int	    y_off)
+ {
+-    int	mask_xoff, mask_yoff;
+-    pixman_image_t *image = image_from_pict_18 (pPicture, FALSE, &mask_xoff, &mask_yoff);
++    pixman_image_t *image = image_from_pict (pPicture, FALSE, FALSE);
+ 
+     if (!image)
+ 	return;
+diff --git xorg-server-1.7.7/fb/wfbrename.h xorg-server-1.7.7/fb/wfbrename.h
+index e9cdca8..73ee510 100644
+--- xorg-server-1.7.7/fb/wfbrename.h
++++ xorg-server-1.7.7/fb/wfbrename.h
+@@ -187,5 +187,4 @@
+ #define fbZeroSegment wfbZeroSegment
+ #define free_pixman_pict wfb_free_pixman_pict
+ #define image_from_pict wfb_image_from_pict
+-#define image_from_pict_18 wfb_image_from_pict_18
+ #define composeFunctions wfbComposeFunctions
+-- 
+1.7.0.4
+

Deleted: trunk/dports/x11/xorg-server/files/0003-XQuartz-xpbproxy-Cleanup-xpbproxy-threading.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0003-XQuartz-xpbproxy-Cleanup-xpbproxy-threading.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0003-XQuartz-xpbproxy-Cleanup-xpbproxy-threading.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,347 +0,0 @@
-From 088777f2b683d61d948cf346564a73b048da1ea2 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at freedesktop.org>
-Date: Sat, 20 Mar 2010 03:28:57 -0700
-Subject: [PATCH 03/14] XQuartz: xpbproxy: Cleanup xpbproxy threading
-
-Confine xpbproxy to a single thread
-Runs inside its own CFRunLoop
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
-(cherry picked from commit 69869d79f4c21eb385ff3c64bac649d93c7dd2ad)
----
- hw/xquartz/X11Application.m   |   25 +++++++++-
- hw/xquartz/pbproxy/app-main.m |    8 +---
- hw/xquartz/pbproxy/main.m     |   43 +++++------------
- hw/xquartz/pbproxy/pbproxy.h  |    3 +-
- hw/xquartz/pbproxy/x-input.m  |  100 +++++++++++++++++-----------------------
- 5 files changed, 80 insertions(+), 99 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/X11Application.m xorg-server-1.7.6/hw/xquartz/X11Application.m
-index 3faa1cb..5406640 100644
---- xorg-server-1.7.6/hw/xquartz/X11Application.m
-+++ xorg-server-1.7.6/hw/xquartz/X11Application.m
-@@ -52,7 +52,7 @@
- #include <Xplugin.h>
- 
- // pbproxy/pbproxy.h
--extern BOOL xpbproxy_init (void);
-+extern int xpbproxy_run (void);
- 
- #define DEFAULTS_FILE X11LIBDIR"/X11/xserver/Xquartz.plist"
- 
-@@ -908,6 +908,26 @@ environment the next time you start X11?", @"Startup xinitrc dialog");
-     [X11App prefs_synchronize];
- }
- 
-+static inline pthread_t create_thread(void *func, void *arg) {
-+    pthread_attr_t attr;
-+    pthread_t tid;
-+    
-+    pthread_attr_init(&attr);
-+    pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
-+    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-+    pthread_create(&tid, &attr, func, arg);
-+    pthread_attr_destroy(&attr);
-+    
-+    return tid;
-+}
-+
-+static void *xpbproxy_x_thread(void *args) {
-+    xpbproxy_run();
-+
-+    fprintf(stderr, "xpbproxy thread is terminating unexpectedly.\n");
-+    return NULL;
-+}
-+
- void X11ApplicationMain (int argc, char **argv, char **envp) {
-     NSAutoreleasePool *pool;
- 
-@@ -962,8 +982,7 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
-      */
-     check_xinitrc();
-     
--    if(!xpbproxy_init())
--        fprintf(stderr, "Error initializing xpbproxy\n");
-+    create_thread(xpbproxy_x_thread, NULL);
- 
- #if XQUARTZ_SPARKLE
-     [[X11App controller] setup_sparkle];
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-index f3f683a..b30dfb8 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-@@ -84,16 +84,10 @@ int main (int argc, const char *argv[]) {
-     
-     app_prefs_domain_cfstr = CFStringCreateWithCString(NULL, app_prefs_domain, kCFStringEncodingUTF8);
-     
--    if(!xpbproxy_init())
--        return EXIT_FAILURE;
--    
-     signal (SIGINT, signal_handler);
-     signal (SIGTERM, signal_handler);
-     signal (SIGHUP, signal_handler);
-     signal (SIGPIPE, SIG_IGN);
- 
--    [NSApplication sharedApplication];
--    [NSApp run];
--    
--    return EXIT_SUCCESS;
-+    return xpbproxy_run();
- }
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/main.m xorg-server-1.7.6/hw/xquartz/pbproxy/main.m
-index d26b1b1..560cf01 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/main.m
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/main.m
-@@ -82,25 +82,12 @@ static int x_error_handler (Display *dpy, XErrorEvent *errevent) {
-     return 0;
- }
- 
--static inline pthread_t create_thread(void *func, void *arg) {
--    pthread_attr_t attr;
--    pthread_t tid;
--    
--    pthread_attr_init(&attr);
--    pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
--    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
--    pthread_create(&tid, &attr, func, arg);
--    pthread_attr_destroy(&attr);
--    
--    return tid;
--}
--
--static void *xpbproxy_x_thread(void *args) {
-+int xpbproxy_run (void) {
-     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-     size_t i;
--
-+    
-     wait_for_server_init();
--
-+    
-     for(i=0, xpbproxy_dpy=NULL; !xpbproxy_dpy && i<5; i++) {
-         xpbproxy_dpy = XOpenDisplay(NULL);
-         
-@@ -108,7 +95,7 @@ static void *xpbproxy_x_thread(void *args) {
-             char _display[32];
-             snprintf(_display, sizeof(_display), ":%s", display);
-             setenv("DISPLAY", _display, TRUE);
--
-+            
-             xpbproxy_dpy=XOpenDisplay(_display);
-         }
-         if(!xpbproxy_dpy)
-@@ -118,7 +105,7 @@ static void *xpbproxy_x_thread(void *args) {
-     if (xpbproxy_dpy == NULL) {
-         fprintf (stderr, "xpbproxy: can't open default display\n");
-         [pool release];
--        return NULL;
-+        return EXIT_FAILURE;
-     }
-     
-     XSetIOErrorHandler (x_io_error_handler);
-@@ -128,11 +115,11 @@ static void *xpbproxy_x_thread(void *args) {
-                                  &xpbproxy_apple_wm_error_base)) {
-         fprintf (stderr, "xpbproxy: can't open AppleWM server extension\n");
-         [pool release];
--        return NULL;
-+        return EXIT_FAILURE;
-     }
--    
-+
-     xpbproxy_have_xfixes = XFixesQueryExtension(xpbproxy_dpy, &xpbproxy_xfixes_event_base, &xpbproxy_xfixes_error_base);
--    
-+
-     XAppleWMSelectInput (xpbproxy_dpy, AppleWMActivationNotifyMask |
-                          AppleWMPasteboardNotifyMask);
-     
-@@ -140,18 +127,14 @@ static void *xpbproxy_x_thread(void *args) {
-     
-     if(!xpbproxy_input_register()) {
-         [pool release];
--        return NULL;
-+        return EXIT_FAILURE;
-     }
--
-+    
-     [pool release];
-- 
--    xpbproxy_input_loop();
--    return NULL;
--}
-+    
-+    CFRunLoopRun();
- 
--BOOL xpbproxy_init (void) {
--    create_thread(xpbproxy_x_thread, NULL);
--    return TRUE;
-+    return EXIT_SUCCESS;
- }
- 
- id xpbproxy_selection_object (void) {
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/pbproxy.h xorg-server-1.7.6/hw/xquartz/pbproxy/pbproxy.h
-index a6798ef..013f981 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/pbproxy.h
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/pbproxy.h
-@@ -67,7 +67,7 @@ extern void xpbproxy_set_is_active (BOOL state);
- extern BOOL xpbproxy_get_is_active (void);
- extern id xpbproxy_selection_object (void);
- extern Time xpbproxy_current_timestamp (void);
--extern BOOL xpbproxy_init (void);
-+extern int xpbproxy_run (void);
- 
- extern Display *xpbproxy_dpy;
- extern int xpbproxy_apple_wm_event_base, xpbproxy_apple_wm_error_base;
-@@ -76,7 +76,6 @@ extern BOOL xpbproxy_have_xfixes;
- 
- /* from x-input.m */
- extern BOOL xpbproxy_input_register (void);
--extern void xpbproxy_input_loop();
- 
- #ifdef DEBUG
- /* BEWARE: this can cause a string memory leak, according to the leaks program. */
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/x-input.m xorg-server-1.7.6/hw/xquartz/pbproxy/x-input.m
-index 6ba30c6..405ba3c 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/x-input.m
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/x-input.m
-@@ -39,17 +39,12 @@
- 
- #include <unistd.h>
- 
--#include <pthread.h>
--
- static CFRunLoopSourceRef xpbproxy_dpy_source;
- 
- #ifdef STANDALONE_XPBPROXY
- BOOL xpbproxy_prefs_reload = NO;
- #endif
- 
--static pthread_mutex_t xpbproxy_dpy_rdy_lock = PTHREAD_MUTEX_INITIALIZER;
--static pthread_cond_t xpbproxy_dpy_rdy_cond = PTHREAD_COND_INITIALIZER;
--
- /* Timestamp when the X server last told us it's active */
- static Time last_activation_time;
- 
-@@ -88,58 +83,51 @@ static void x_event_apple_wm_notify(XAppleWMNotifyEvent *e) {
-     }
- }
- 
--void xpbproxy_input_loop() {
--    pthread_mutex_lock(&xpbproxy_dpy_rdy_lock);
--    while(true) {
--        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-+static void xpbproxy_process_xevents(void) {
-+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-+    
-+    if(pool == nil) {
-+        fprintf(stderr, "unable to allocate/init auto release pool!\n");
-+        return;
-+    }
-+    
-+    while (XPending(xpbproxy_dpy) != 0) {
-+        XEvent e;
-         
--        if(pool == nil) {
--            fprintf(stderr, "unable to allocate/init auto release pool!\n");
--            break;
--        }
-+        XNextEvent (xpbproxy_dpy, &e);
-         
--        while (XPending(xpbproxy_dpy) != 0) {
--            XEvent e;
--            
--            pthread_mutex_unlock(&xpbproxy_dpy_rdy_lock);
--            XNextEvent (xpbproxy_dpy, &e);
--            
--            switch (e.type) {                
--                case SelectionClear:
--                    if([xpbproxy_selection_object() is_active])
--                        [xpbproxy_selection_object () clear_event:&e.xselectionclear];
--                    break;
--                    
--                case SelectionRequest:
--                    [xpbproxy_selection_object () request_event:&e.xselectionrequest];
--                    break;
--                    
--                case SelectionNotify:
--                    [xpbproxy_selection_object () notify_event:&e.xselection];
--                    break;
--                    
--                case PropertyNotify:
--                    [xpbproxy_selection_object () property_event:&e.xproperty];
--                    break;
--                    
--                default:
--                    if(e.type >= xpbproxy_apple_wm_event_base &&
--                       e.type < xpbproxy_apple_wm_event_base + AppleWMNumberEvents) {
--                        x_event_apple_wm_notify((XAppleWMNotifyEvent *) &e);
--                    } else if(e.type == xpbproxy_xfixes_event_base + XFixesSelectionNotify) {
--                        [xpbproxy_selection_object() xfixes_selection_notify:(XFixesSelectionNotifyEvent *)&e];
--                    }
--                    break;
--            }
--            
--            XFlush(xpbproxy_dpy);
--            pthread_mutex_lock(&xpbproxy_dpy_rdy_lock);
-+        switch (e.type) {                
-+            case SelectionClear:
-+                if([xpbproxy_selection_object() is_active])
-+                    [xpbproxy_selection_object () clear_event:&e.xselectionclear];
-+                break;
-+                
-+            case SelectionRequest:
-+                [xpbproxy_selection_object () request_event:&e.xselectionrequest];
-+                break;
-+                
-+            case SelectionNotify:
-+                [xpbproxy_selection_object () notify_event:&e.xselection];
-+                break;
-+                
-+            case PropertyNotify:
-+                [xpbproxy_selection_object () property_event:&e.xproperty];
-+                break;
-+                
-+            default:
-+                if(e.type >= xpbproxy_apple_wm_event_base &&
-+                   e.type < xpbproxy_apple_wm_event_base + AppleWMNumberEvents) {
-+                    x_event_apple_wm_notify((XAppleWMNotifyEvent *) &e);
-+                } else if(e.type == xpbproxy_xfixes_event_base + XFixesSelectionNotify) {
-+                    [xpbproxy_selection_object() xfixes_selection_notify:(XFixesSelectionNotifyEvent *)&e];
-+                }
-+                break;
-         }
-         
--        [pool release];
--        
--        pthread_cond_wait(&xpbproxy_dpy_rdy_cond, &xpbproxy_dpy_rdy_lock);
-+        XFlush(xpbproxy_dpy);
-     }
-+    
-+    [pool release];
- }
- 
- static BOOL add_input_socket (int sock, CFOptionFlags callback_types,
-@@ -161,7 +149,7 @@ static BOOL add_input_socket (int sock, CFOptionFlags callback_types,
-     if (*cf_source == NULL)
-         return FALSE;
-     
--    CFRunLoopAddSource (CFRunLoopGetMain (),
-+    CFRunLoopAddSource (CFRunLoopGetCurrent (),
-                         *cf_source, kCFRunLoopDefaultMode);
-     return TRUE;
- }
-@@ -175,10 +163,8 @@ static void x_input_callback (CFSocketRef sock, CFSocketCallBackType type,
-         xpbproxy_prefs_reload = NO;
-     }
- #endif
--
--    pthread_mutex_lock(&xpbproxy_dpy_rdy_lock);
--    pthread_cond_broadcast(&xpbproxy_dpy_rdy_cond);
--    pthread_mutex_unlock(&xpbproxy_dpy_rdy_lock);
-+    
-+    xpbproxy_process_xevents();
- }
- 
- BOOL xpbproxy_input_register(void) {
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0004-XQuartz-pbproxy-Make-standalone-xpbproxy-respect-the.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0004-XQuartz-pbproxy-Make-standalone-xpbproxy-respect-the.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0004-XQuartz-pbproxy-Make-standalone-xpbproxy-respect-the.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,51 +0,0 @@
-From b226618f55a5393e32f339a963ae7aaf145c51a4 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at freedesktop.org>
-Date: Sat, 20 Mar 2010 11:03:28 -0700
-Subject: [PATCH 04/14] XQuartz: pbproxy: Make standalone xpbproxy respect the launchd prefix
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
-(cherry picked from commit 38215cc43e4c012588c7a50344b8fe368d1252cc)
----
- hw/xquartz/pbproxy/Makefile.am |    6 ++++--
- hw/xquartz/pbproxy/app-main.m  |    4 ++--
- 2 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/Makefile.am xorg-server-1.7.6/hw/xquartz/pbproxy/Makefile.am
-index 02da6b2..1886642 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/Makefile.am
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/Makefile.am
-@@ -1,5 +1,7 @@
--AM_CPPFLAGS=-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
--AM_CFLAGS=$(XPBPROXY_CFLAGS)
-+AM_CPPFLAGS=-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks \
-+	-DLAUNCHD_ID_PREFIX=\"$(LAUNCHD_ID_PREFIX)\"
-+
-+AM_CFLAGS=$(XPBPROXY_CFLAGS) 
- 
- noinst_LTLIBRARIES = libxpbproxy.la
- libxpbproxy_la_SOURCES = \
-diff --git xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-index b30dfb8..b00e90a 100644
---- xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-+++ xorg-server-1.7.6/hw/xquartz/pbproxy/app-main.m
-@@ -34,7 +34,7 @@
- #include <unistd.h> /*for getpid*/
- #include <Cocoa/Cocoa.h>
- 
--static const char *app_prefs_domain = "org.x.X11";
-+static const char *app_prefs_domain = 	LAUNCHD_ID_PREFIX".xpbproxy";
- CFStringRef app_prefs_domain_cfstr;
- 
- /* Stubs */
-@@ -73,7 +73,7 @@ int main (int argc, const char *argv[]) {
-             printf("usage: xpbproxy OPTIONS\n"
-                    "Pasteboard proxying for X11.\n\n"
-                    "--prefs-domain <domain>   Change the domain used for reading preferences\n"
--                   "                          (default: org.x.X11)\n");
-+                   "                          (default: %s)\n", app_prefs_domain);
-             return 0;
-         } else {
-             fprintf(stderr, "usage: xpbproxy OPTIONS...\n"
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0005-XQuartz-Constrain-the-pointer-to-the-updated-display.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0005-XQuartz-Constrain-the-pointer-to-the-updated-display.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0005-XQuartz-Constrain-the-pointer-to-the-updated-display.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,45 +0,0 @@
-From 4c85c3815a6f1698e91d2043d51a716948f8c1df Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Fri, 19 Mar 2010 17:24:27 -0700
-Subject: [PATCH 05/14] XQuartz: Constrain the pointer to the updated display bounds on display reconfigure.
-
-http://xquartz.macosforge.org/trac/ticket/346
-(cherry picked from commit ed31d50b5f7f25e4db986711699704e615b8afcb)
----
- hw/xquartz/quartz.c |   13 +++++++++++--
- 1 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/quartz.c xorg-server-1.7.6/hw/xquartz/quartz.c
-index 3c04205..59107be 100644
---- xorg-server-1.7.6/hw/xquartz/quartz.c
-+++ xorg-server-1.7.6/hw/xquartz/quartz.c
-@@ -241,6 +241,7 @@ void QuartzUpdateScreens(void) {
-     WindowPtr pRoot;
-     int x, y, width, height, sx, sy;
-     xEvent e;
-+    BoxRec bounds;
-     
-     if (noPseudoramiXExtension || screenInfo.numScreens != 1)
-     {
-@@ -277,8 +278,16 @@ void QuartzUpdateScreens(void) {
-     //pScreen->PaintWindowBackground (pRoot, &pRoot->borderClip,  PW_BACKGROUND);
-     miPaintWindow(pRoot, &pRoot->borderClip,  PW_BACKGROUND);
- 
--//  TODO: This is a noop in 1.6 and nuked in master... we may need to do something else now to handle it
--//    DefineInitialRootWindow(pRoot);
-+    /* <rdar://problem/7770779> pointer events are clipped to old display region after display reconfiguration
-+     * http://xquartz.macosforge.org/trac/ticket/346
-+     */
-+    bounds.x1 = 0;
-+    bounds.x2 = width;
-+    bounds.y1 = 0;
-+    bounds.y2 = height;
-+    pScreen->ConstrainCursor(inputInfo.pointer, pScreen, &bounds);
-+    inputInfo.pointer->spriteInfo->sprite->physLimits = bounds;
-+    inputInfo.pointer->spriteInfo->sprite->hotLimits = bounds;
- 
-     DEBUG_LOG("Root Window: %dx%d @ (%d, %d) darwinMainScreen (%d, %d) xy (%d, %d) dixScreenOrigins (%d, %d)\n", width, height, x - sx, y - sy, darwinMainScreenX, darwinMainScreenY, x, y, dixScreenOrigins[pScreen->myNum].x, dixScreenOrigins[pScreen->myNum].y);
- 
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0006-Fix-crash-when-all-glyphs-of-a-given-depth-are-freed.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0006-Fix-crash-when-all-glyphs-of-a-given-depth-are-freed.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0006-Fix-crash-when-all-glyphs-of-a-given-depth-are-freed.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,46 +0,0 @@
-From 2fa794f246b0224c458295a271a4246b52eb75c0 Mon Sep 17 00:00:00 2001
-From: Peter Harris <pharris at opentext.com>
-Date: Tue, 23 Mar 2010 12:08:19 -0400
-Subject: [PATCH 06/14] Fix crash when all glyphs of a given depth are freed, but not all glyphsets
-
-This is how the crash can be triggered with only two clients on the system:
-Client A: (already running)
-Client B: Connect
-Client B: CreateGlyphSet(depthN)
-Client A: Disconnect
-Server: free globalGlyphs(depthN)
-Client B: AddGlyphs(depthN)
-Server: SEGV
-
-This crash was introduced with the FindGlyphsByHash function
-in 516b96387b0e57b524a37a96da22dbeeeb041712. Before that revision,
-ResizeGlyphSet was always called before FindGlyphRef, which would
-re-create globalGlyphs(depthN) if necessary.
-
-X.Org Bug 20718 <http://bugs.freedesktop.org/show_bug.cgi?id=20718>
-
-Reviewed-by: Adam Jackson <ajax at redhat.com>
-Signed-off-by: Peter Harris <pharris at opentext.com>
-Signed-off-by: Keith Packard <keithp at keithp.com>
-(cherry picked from commit 185185eeb44a277c324be0f58a4b4a469b56b69b)
----
- render/glyph.c |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git xorg-server-1.7.6/render/glyph.c xorg-server-1.7.6/render/glyph.c
-index 7fcdfd9..7282705 100644
---- xorg-server-1.7.6/render/glyph.c
-+++ xorg-server-1.7.6/render/glyph.c
-@@ -235,6 +235,9 @@ FindGlyphByHash (unsigned char sha1[20], int format)
-     GlyphRefPtr gr;
-     CARD32 signature = *(CARD32 *) sha1;
- 
-+    if (!globalGlyphs[format].hashSet)
-+	return NULL;
-+
-     gr = FindGlyphRef (&globalGlyphs[format],
- 		       signature, TRUE, sha1);
- 
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0007-Fix-typos-in-the-swap-functions.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0007-Fix-typos-in-the-swap-functions.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0007-Fix-typos-in-the-swap-functions.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,59 +0,0 @@
-From e481a4912bc53a09429002b2bf8c321b516d236f Mon Sep 17 00:00:00 2001
-From: Tomas Carnecky <tom at dbservice.com>
-Date: Mon, 22 Mar 2010 11:20:15 -0700
-Subject: [PATCH 07/14] Fix typos in the swap functions
-
-This should fix bug #3539.
-
-Signed-off-by: Tomas Carnecky <tom at dbservice.com>
-Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
-Reviewed-by: Keith Packard <keithp at keithp.com>
-Signed-off-by: Keith Packard <keithp at keithp.com>
-(cherry picked from commit 0c2fde5c8ad6e94b4ed1588aa93256a2b64f74d9)
----
- glx/glxcmdsswap.c |    8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git xorg-server-1.7.6/glx/glxcmdsswap.c xorg-server-1.7.6/glx/glxcmdsswap.c
-index f1c0ce6..c414dc8 100644
---- xorg-server-1.7.6/glx/glxcmdsswap.c
-+++ xorg-server-1.7.6/glx/glxcmdsswap.c
-@@ -354,7 +354,7 @@ int __glXDispSwap_CreateGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc)
- 
- int __glXDispSwap_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
- {
--    xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) req;
-+    xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) pc;
-     __GLX_DECLARE_SWAP_VARIABLES;
- 
-     __GLX_SWAP_INT(&req->pbuffer);
-@@ -364,7 +364,7 @@ int __glXDispSwap_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
- 
- int __glXDispSwap_DestroyGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc)
- {
--    xGLXDestroyGLXPbufferSGIXReq *req = (xGLXDestroyGLXPbufferSGIXReq *) req;
-+    xGLXDestroyGLXPbufferSGIXReq *req = (xGLXDestroyGLXPbufferSGIXReq *) pc;
-     __GLX_DECLARE_SWAP_VARIABLES;
- 
-     __GLX_SWAP_INT(&req->pbuffer);
-@@ -375,7 +375,7 @@ int __glXDispSwap_DestroyGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc)
- int __glXDispSwap_ChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
- {
-     xGLXChangeDrawableAttributesReq *req =
--	(xGLXChangeDrawableAttributesReq *) req;
-+	(xGLXChangeDrawableAttributesReq *) pc;
-     __GLX_DECLARE_SWAP_VARIABLES;
-     __GLX_DECLARE_SWAP_ARRAY_VARIABLES;
-     CARD32 *attribs;
-@@ -392,7 +392,7 @@ int __glXDispSwap_ChangeDrawableAttributesSGIX(__GLXclientState *cl,
- 					       GLbyte *pc)
- {
-     xGLXChangeDrawableAttributesSGIXReq *req =
--	(xGLXChangeDrawableAttributesSGIXReq *) req;
-+	(xGLXChangeDrawableAttributesSGIXReq *) pc;
-     __GLX_DECLARE_SWAP_VARIABLES;
-     __GLX_DECLARE_SWAP_ARRAY_VARIABLES;
-     CARD32 *attribs;
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0008-hw-xfree86-move-reference-counting-out-of-the-UseHWC.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0008-hw-xfree86-move-reference-counting-out-of-the-UseHWC.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0008-hw-xfree86-move-reference-counting-out-of-the-UseHWC.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,59 +0,0 @@
-From 2ad8aae749fe08f139e3046e923da8233b9a7cd5 Mon Sep 17 00:00:00 2001
-From: Roland Scheidegger <sroland at vmware.com>
-Date: Fri, 12 Mar 2010 16:53:30 +0100
-Subject: [PATCH 08/14] hw/xfree86: move reference counting out of the UseHWCursor[ARGB] functions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The problem is that the xf86_use_hw_cursor(_argb) functions may get this
-correctly now, some drivers will replace these generic versions with their
-own functions. It is pretty insane to expect them to do reference counting
-of the cursor (as an example, look at driver/xf86-video-vmware to see how
-that looks like as a workaround). There are even places in xserver itself
-which replace these two functions.
-The segfaults if no reference counting is done are caused because the
-reference count of the cursor reached zero, hence the cursor was freed,
-however xf86CursorEnableDisableFBAccess() brought it back to life from
-the dead (from the SavedCursor).
-This patch hence adds reference counting in xf86CursorSetCursor. As per Michel
-Daenzer's suggestion, also free the cursor upon xf86CursorCloseScreen.
-In theory with this it should be possible to remove the reference
-counting in the UseHwCursor functions I think, though it should also be
-safe to keep them.
-
-Signed-off-by: Roland Scheidegger <sroland at vmware.com>
-Reviewed-by: Michel Dänzer <michel at daenzer.net>
-Signed-off-by: Keith Packard <keithp at keithp.com>
-(cherry picked from commit 67a8c659f25218904bae64aac6e98e326c90330b)
----
- hw/xfree86/ramdac/xf86Cursor.c |    6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xfree86/ramdac/xf86Cursor.c xorg-server-1.7.6/hw/xfree86/ramdac/xf86Cursor.c
-index 6b71f46..7f23d9e 100644
---- xorg-server-1.7.6/hw/xfree86/ramdac/xf86Cursor.c
-+++ xorg-server-1.7.6/hw/xfree86/ramdac/xf86Cursor.c
-@@ -129,6 +129,9 @@ xf86CursorCloseScreen(int i, ScreenPtr pScreen)
-     if (ScreenPriv->isUp && pScrn->vtSema)
- 	xf86SetCursor(pScreen, NullCursor, ScreenPriv->x, ScreenPriv->y);
- 
-+    if (ScreenPriv->CurrentCursor)
-+	FreeCursor(ScreenPriv->CurrentCursor, None);
-+
-     pScreen->CloseScreen = ScreenPriv->CloseScreen;
-     pScreen->QueryBestSize = ScreenPriv->QueryBestSize;
-     pScreen->RecolorCursor = ScreenPriv->RecolorCursor;
-@@ -317,6 +320,9 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs,
-     if (pDev == inputInfo.pointer ||
-         (!IsMaster(pDev) && pDev->u.master == inputInfo.pointer))
-     {
-+	pCurs->refcnt++;
-+	if (ScreenPriv->CurrentCursor)
-+	    FreeCursor(ScreenPriv->CurrentCursor, None);
- 	ScreenPriv->CurrentCursor = pCurs;
- 	ScreenPriv->x = x;
- 	ScreenPriv->y = y;
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0009-XQuartz-Workaround-weird-key-data-reported-on-some-l.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0009-XQuartz-Workaround-weird-key-data-reported-on-some-l.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0009-XQuartz-Workaround-weird-key-data-reported-on-some-l.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,33 +0,0 @@
-From 68319e7f0755a7d36ed1544214dceae0afa05b76 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Thu, 25 Mar 2010 22:15:58 -0700
-Subject: [PATCH 09/14] XQuartz: Workaround weird key data reported on some layouts
-
-This should make 'Unicode Hex Input' work as an input layout.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
-Acked-by: Adam Jackson <ajax at redhat.com>
-(cherry picked from commit 339207be6f184cc783076fc7e2cc12f92f57f2ba)
----
- hw/xquartz/quartzKeyboard.c |    5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/quartzKeyboard.c xorg-server-1.7.6/hw/xquartz/quartzKeyboard.c
-index c9ef7cc..a4a0b08 100644
---- xorg-server-1.7.6/hw/xquartz/quartzKeyboard.c
-+++ xorg-server-1.7.6/hw/xquartz/quartzKeyboard.c
-@@ -735,7 +735,10 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
-                     if (err != noErr) continue;
-                 }
- 
--                if (len > 0 && s[0] != 0x0010) {
-+                /* Not sure why 0x0010 is there.
-+                 * 0x0000 - <rdar://problem/7793566> 'Unicode Hex Input' ...
-+                 */
-+                if (len > 0 && s[0] != 0x0010 && s[0] != 0x0000) {
-                     k[j] = ucs2keysym (s[0]);
-                     if (dead_key_state != 0) k[j] = make_dead_key (k[j]);
-                 }
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0010-XQuartz-Re-query-dixScreenOrigins-as-the-value-could.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0010-XQuartz-Re-query-dixScreenOrigins-as-the-value-could.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0010-XQuartz-Re-query-dixScreenOrigins-as-the-value-could.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,35 +0,0 @@
-From 49a2b55e0e1e265c1393c04c9df8e73f30dccd33 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Sun, 28 Mar 2010 13:46:23 -0700
-Subject: [PATCH 10/14] XQuartz: Re-query dixScreenOrigins as the value could've changed.
-
-Fix a regression in 9c9c3a85b094a3c7b2763a572715d710325091aa
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
-Acked-by: Adam Jackson <ajax at redhat.com>
-(cherry picked from commit 28a5f14b4089dccb8045cc4fdc923542a73dd22d)
----
- hw/xquartz/quartz.c |    7 +++++--
- 1 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git xorg-server-1.7.6/hw/xquartz/quartz.c xorg-server-1.7.6/hw/xquartz/quartz.c
-index 59107be..a611854 100644
---- xorg-server-1.7.6/hw/xquartz/quartz.c
-+++ xorg-server-1.7.6/hw/xquartz/quartz.c
-@@ -268,8 +268,11 @@ void QuartzUpdateScreens(void) {
-     DarwinAdjustScreenOrigins(&screenInfo);
-     quartzProcs->UpdateScreen(pScreen);
-     
--    sx = x + darwinMainScreenX;
--    sy = y + darwinMainScreenY;
-+    /* DarwinAdjustScreenOrigins or UpdateScreen may change dixScreenOrigins,
-+     * so use it rather than x/y
-+     */
-+    sx = dixScreenOrigins[pScreen->myNum].x + darwinMainScreenX;
-+    sy = dixScreenOrigins[pScreen->myNum].y + darwinMainScreenY;
-     
-     /* Adjust the root window. */
-     pRoot = WindowTable[pScreen->myNum];
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0011-XKB-Fix-garbage-initialization.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0011-XKB-Fix-garbage-initialization.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0011-XKB-Fix-garbage-initialization.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,32 +0,0 @@
-From 8faac273d3fa2394fbc686be52476bd229754338 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Mon, 22 Mar 2010 14:20:56 -0700
-Subject: [PATCH 11/14] XKB: Fix garbage initialization
-
-XkbEnableDisableControls set extra garbage bits on the xkbControlsNotify
-changedControls mask because it was uninitialized on the stack.
-
-Found by clang
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
-(cherry picked from commit e081ef1d26c03a38da58f1eacf21ebe8fff5a7d9)
----
- xkb/xkbUtils.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git xorg-server-1.7.6/xkb/xkbUtils.c xorg-server-1.7.6/xkb/xkbUtils.c
-index 75e243c..30ec438 100644
---- xorg-server-1.7.6/xkb/xkbUtils.c
-+++ xorg-server-1.7.6/xkb/xkbUtils.c
-@@ -753,7 +753,7 @@ XkbSrvLedInfoPtr	sli;
-     if (cause!=NULL) {
- 	xkbControlsNotify cn;
- 	cn.numGroups= ctrls->num_groups;
--	cn.changedControls|= XkbControlsEnabledMask;
-+	cn.changedControls= XkbControlsEnabledMask;
- 	cn.enabledControls= ctrls->enabled_ctrls;
- 	cn.enabledControlChanges= (ctrls->enabled_ctrls^old);
- 	cn.keycode= cause->kc;
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0012-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0012-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0012-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,86 +0,0 @@
-From a7f60537227c2c667a9075b6fab308a5de996903 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer at who-t.net>
-Date: Wed, 17 Mar 2010 14:32:38 +1000
-Subject: [PATCH 12/14] dix: if owner-events is true for passive grabs, add the window mask (#25400)
-
-A client requesting a GrabModeSync button grab, owner-events true, with only
-the ButtonRelease mask set would never receive the press event even if the
-grab window had the ButtonPress mask set.
-
-The protocol requires that if owner-events is true, then the delivery mask
-is the combination of the grab mask + the window event mask.
-
-X.Org Bug 25400 <http://bugs.freedesktop.org/show_bug.cgi?id=25400>
-
-Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
-Tested-by: Jim Ramsay <i.am at jimramsay.com>
-Signed-off-by: Keith Packard <keithp at keithp.com>
-(cherry picked from commit 1c612acca8568fcdf9761d23f112adaf4d496f1b)
----
- dix/events.c |   36 ++++++++++++++++++++++++++++++++++++
- 1 files changed, 36 insertions(+), 0 deletions(-)
-
-diff --git xorg-server-1.7.6/dix/events.c xorg-server-1.7.6/dix/events.c
-index 3c625db..732740e 100644
---- xorg-server-1.7.6/dix/events.c
-+++ xorg-server-1.7.6/dix/events.c
-@@ -3552,6 +3552,8 @@ CheckPassiveGrabsOnWindow(
-                 xE = &core;
-                 count = 1;
-                 mask = grab->eventMask;
-+                if (grab->ownerEvents)
-+                    mask |= pWin->eventMask;
-             } else if (match & XI2_MATCH)
-             {
-                 rc = EventToXI2((InternalEvent*)event, &xE);
-@@ -3573,6 +3575,24 @@ CheckPassiveGrabsOnWindow(
-                     mask = grab->xi2mask[device->id][((xGenericEvent*)xE)->evtype/8];
-                 else if (event->type == XI_Enter || event->type == XI_FocusIn)
-                     mask = grab->xi2mask[device->id][event->type/8];
-+
-+                if (grab->ownerEvents && wOtherInputMasks(grab->window))
-+                {
-+                    InputClientsPtr icp =
-+                        wOtherInputMasks(grab->window)->inputClients;
-+
-+                    while(icp)
-+                    {
-+                        if (rClient(icp) == rClient(grab))
-+                        {
-+                            int evtype = (xE) ? ((xGenericEvent*)xE)->evtype : event->type;
-+                            mask |= icp->xi2mask[device->id][evtype/8];
-+                            break;
-+                        }
-+
-+                        icp = icp->next;
-+                    }
-+                }
-             } else
-             {
-                 rc = EventToXI((InternalEvent*)event, &xE, &count);
-@@ -3584,6 +3604,22 @@ CheckPassiveGrabsOnWindow(
-                     continue;
-                 }
-                 mask = grab->eventMask;
-+                if (grab->ownerEvents && wOtherInputMasks(grab->window))
-+                {
-+                    InputClientsPtr icp =
-+                        wOtherInputMasks(grab->window)->inputClients;
-+
-+                    while(icp)
-+                    {
-+                        if (rClient(icp) == rClient(grab))
-+                        {
-+                            mask |= icp->mask[device->id];
-+                            break;
-+                        }
-+
-+                        icp = icp->next;
-+                    }
-+                }
-             }
- 
- 	    (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE);
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0013-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0013-fb-Revert-fb-changes-that-broke-XQuartz.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0013-fb-Revert-fb-changes-that-broke-XQuartz.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,339 +0,0 @@
-From d585d5c980bac7e91c0adee4c69872054a27c348 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at freedesktop.org>
-Date: Sun, 31 Jan 2010 01:38:53 -0800
-Subject: [PATCH 13/14] fb: Revert fb changes that broke XQuartz
-
-http://bugs.freedesktop.org/show_bug.cgi?id=26124
-
-Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
-Revert "fb: backport fb changes from master for src window operations."
-
-This reverts commit 66b6e2fd49fdc650703e56aa176a902e4921251c.
-This reverts commit 2d6a8f668342a5190cdf43b5d385f592d10f5900.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
----
- fb/fb.h        |   76 +++++++++++++++++++++----------------------------
- fb/fbpict.c    |   86 ++++++++++++++++---------------------------------------
- fb/fbtrap.c    |    6 +--
- fb/wfbrename.h |    1 -
- 4 files changed, 60 insertions(+), 109 deletions(-)
-
-diff --git xorg-server-1.7.6/fb/fb.h xorg-server-1.7.6/fb/fb.h
-index 8b2839a..37de71e 100644
---- xorg-server-1.7.6/fb/fb.h
-+++ xorg-server-1.7.6/fb/fb.h
-@@ -700,41 +700,38 @@ typedef struct {
- #define __fbPixOffXPix(pPix)	(__fbPixDrawableX(pPix))
- #define __fbPixOffYPix(pPix)	(__fbPixDrawableY(pPix))
- 
--#define fbGetDrawablePixmap(pDrawable, pixmap, xoff, yoff) {			\
--    if ((pDrawable)->type != DRAWABLE_PIXMAP) { 				\
--	(pixmap) = fbGetWindowPixmap(pDrawable);				\
--	(xoff) = __fbPixOffXWin(pixmap); 					\
--	(yoff) = __fbPixOffYWin(pixmap); 					\
--    } else { 									\
--	(pixmap) = (PixmapPtr) (pDrawable);					\
--	(xoff) = __fbPixOffXPix(pixmap); 					\
--	(yoff) = __fbPixOffYPix(pixmap); 					\
--    } 										\
--    fbPrepareAccess(pDrawable); 						\
--}
--
--#define fbGetPixmapBitsData(pixmap, pointer, stride, bpp) {			\
--    (pointer) = (FbBits *) (pixmap)->devPrivate.ptr; 			       	\
--    (stride) = ((int) (pixmap)->devKind) / sizeof (FbBits); (void)(stride);	\
--    (bpp) = (pixmap)->drawable.bitsPerPixel;  (void)(bpp); 			\
--}
--
--#define fbGetPixmapStipData(pixmap, pointer, stride, bpp) {			\
--    (pointer) = (FbStip *) (pixmap)->devPrivate.ptr; 			       	\
--    (stride) = ((int) (pixmap)->devKind) / sizeof (FbStip); (void)(stride);	\
--    (bpp) = (pixmap)->drawable.bitsPerPixel;  (void)(bpp); 			\
--}
--
--#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { 		\
--    PixmapPtr   _pPix; 								\
--    fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff); 				\
--    fbGetPixmapBitsData(_pPix, pointer, stride, bpp);				\
-+#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
-+    PixmapPtr   _pPix; \
-+    if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
-+	_pPix = fbGetWindowPixmap(pDrawable); \
-+	(xoff) = __fbPixOffXWin(_pPix); \
-+	(yoff) = __fbPixOffYWin(_pPix); \
-+    } else { \
-+	_pPix = (PixmapPtr) (pDrawable); \
-+	(xoff) = __fbPixOffXPix(_pPix); \
-+	(yoff) = __fbPixOffYPix(_pPix); \
-+    } \
-+    fbPrepareAccess(pDrawable); \
-+    (pointer) = (FbBits *) _pPix->devPrivate.ptr; \
-+    (stride) = ((int) _pPix->devKind) / sizeof (FbBits); (void)(stride); \
-+    (bpp) = _pPix->drawable.bitsPerPixel;  (void)(bpp); \
- }
- 
--#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { 	\
--    PixmapPtr   _pPix; 								\
--    fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff);				\
--    fbGetPixmapStipData(_pPix, pointer, stride, bpp);				\
-+#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
-+    PixmapPtr   _pPix; \
-+    if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
-+	_pPix = fbGetWindowPixmap(pDrawable); \
-+	(xoff) = __fbPixOffXWin(_pPix); \
-+	(yoff) = __fbPixOffYWin(_pPix); \
-+    } else { \
-+	_pPix = (PixmapPtr) (pDrawable); \
-+	(xoff) = __fbPixOffXPix(_pPix); \
-+	(yoff) = __fbPixOffYPix(_pPix); \
-+    } \
-+    fbPrepareAccess(pDrawable); \
-+    (pointer) = (FbStip *) _pPix->devPrivate.ptr; \
-+    (stride) = ((int) _pPix->devKind) / sizeof (FbStip); (void)(stride); \
-+    (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \
- }
- 
- /*
-@@ -2082,16 +2079,9 @@ fbFillRegionSolid (DrawablePtr	pDrawable,
- 		   FbBits	xor);
- 
- extern _X_EXPORT pixman_image_t *
--image_from_pict (PicturePtr	pict,
--		 Bool		has_clip,
--		 Bool		is_src);
--
--extern _X_EXPORT pixman_image_t *
--image_from_pict_18 (PicturePtr	pict,
--		 Bool		has_clip,
--		 int		*xoff,
--		 int		*yoff);
--
-+image_from_pict (PicturePtr pict,
-+		 Bool       has_clip,
-+		 Bool       is_src);
- extern _X_EXPORT void free_pixman_pict (PicturePtr, pixman_image_t *);
- 
- #endif /* _FB_H_ */
-diff --git xorg-server-1.7.6/fb/fbpict.c xorg-server-1.7.6/fb/fbpict.c
-index c046bae..8fdaa58 100644
---- xorg-server-1.7.6/fb/fbpict.c
-+++ xorg-server-1.7.6/fb/fbpict.c
-@@ -158,24 +158,19 @@ fbComposite (CARD8      op,
- 	     CARD16     height)
- {
-     pixman_image_t *src, *mask, *dest;
--    int src_xoff, src_yoff;
--    int msk_xoff, msk_yoff;
--    int dst_xoff, dst_yoff;
-     
--    miCompositeSourceValidate (pSrc, xSrc - xDst, ySrc - yDst, width, height);
-+    miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height);
-     if (pMask)
--	miCompositeSourceValidate (pMask, xMask - xDst, yMask - yDst, width, height);
-+	miCompositeSourceValidate (pMask, xMask, yMask, width, height);
-     
--    src = image_from_pict_18 (pSrc, FALSE, &src_xoff, &src_yoff);
--    mask = image_from_pict_18 (pMask, FALSE, &msk_xoff, &msk_yoff);
--    dest = image_from_pict_18 (pDst, TRUE, &dst_xoff, &dst_yoff);
-+    src = image_from_pict (pSrc, TRUE, TRUE);
-+    mask = image_from_pict (pMask, TRUE, TRUE);
-+    dest = image_from_pict (pDst, TRUE, FALSE);
- 
-     if (src && dest && !(pMask && !mask))
-     {
- 	pixman_image_composite (op, src, mask, dest,
--				xSrc + src_xoff, ySrc + src_yoff,
--				xMask + msk_xoff, yMask + msk_yoff,
--				xDst + dst_xoff, yDst + dst_yoff,
-+				xSrc, ySrc, xMask, yMask, xDst, yDst,
- 				width, height);
-     }
- 
-@@ -275,22 +270,22 @@ create_conical_gradient_image (PictGradient *gradient)
- 
- static pixman_image_t *
- create_bits_picture (PicturePtr pict,
--		     Bool       has_clip,
--		     int	*xoff,
--		     int	*yoff)
-+		     Bool       has_clip)
- {
--    PixmapPtr pixmap;
-     FbBits *bits;
-     FbStride stride;
--    int bpp;
-+    int bpp, xoff, yoff;
-     pixman_image_t *image;
-     
--    fbGetDrawablePixmap (pict->pDrawable, pixmap, *xoff, *yoff);
--    fbGetPixmapBitsData(pixmap, bits, stride, bpp);
-+    fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
-+
-+    bits = (FbBits*)((CARD8*)bits +
-+		     (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
-+		     (pict->pDrawable->x + xoff) * (bpp / 8));
- 
-     image = pixman_image_create_bits (
- 	pict->format,
--	pixmap->drawable.width, pixmap->drawable.height,
-+	pict->pDrawable->width, pict->pDrawable->height,
- 	(uint32_t *)bits, stride * sizeof (FbStride));
-     
-     
-@@ -316,52 +311,30 @@ create_bits_picture (PicturePtr pict,
- 	if (pict->clientClipType != CT_NONE)
- 	    pixman_image_set_has_client_clip (image, TRUE);
- 
--	if (*xoff || *yoff)
--	    pixman_region_translate (pict->pCompositeClip, *xoff, *yoff);
-+	pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
- 
- 	pixman_image_set_clip_region (image, pict->pCompositeClip);
- 
--	if (*xoff || *yoff)
--	    pixman_region_translate (pict->pCompositeClip, -*xoff, -*yoff);
-+	pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
-     }
-     
-     /* Indexed table */
-     if (pict->pFormat->index.devPrivate)
- 	pixman_image_set_indexed (image, pict->pFormat->index.devPrivate);
- 
--    /* Add in drawable origin to position within the image */
--    *xoff += pict->pDrawable->x;
--    *yoff += pict->pDrawable->y;
--
-     return image;
- }
- 
- static void
--set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-+set_image_properties (pixman_image_t *image, PicturePtr pict)
- {
-     pixman_repeat_t repeat;
-     pixman_filter_t filter;
-     
-     if (pict->transform)
-     {
--	/* For source images, adjust the transform to account
--	 * for the drawable offset within the pixman image,
--	 * then set the offset to 0 as it will be used
--	 * to compute positions within the transformed image.
--	 */
--	if (!has_clip) {
--	    struct pixman_transform	adjusted;
--
--	    adjusted = *pict->transform;
--	    pixman_transform_translate(&adjusted,
--				       NULL,
--				       pixman_int_to_fixed(*xoff),
--				       pixman_int_to_fixed(*yoff));
--	    pixman_image_set_transform (image, &adjusted);
--	    *xoff = 0;
--	    *yoff = 0;
--	} else
--	    pixman_image_set_transform (image, pict->transform);
-+	pixman_image_set_transform (
-+	    image, (pixman_transform_t *)pict->transform);
-     }
-     
-     switch (pict->repeatType)
-@@ -388,8 +361,7 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
-     
-     if (pict->alphaMap)
-     {
--	int alpha_xoff, alpha_yoff;
--	pixman_image_t *alpha_map = image_from_pict_18 (pict->alphaMap, FALSE, &alpha_xoff, &alpha_yoff);
-+	pixman_image_t *alpha_map = image_from_pict (pict->alphaMap, TRUE, TRUE);
- 	
- 	pixman_image_set_alpha_map (
- 	    image, alpha_map, pict->alphaOrigin.x, pict->alphaOrigin.y);
-@@ -421,9 +393,10 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
-     pixman_image_set_source_clipping (image, TRUE);
- }
- 
--
- pixman_image_t *
--image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-+image_from_pict (PicturePtr pict,
-+		 Bool has_clip,
-+		 Bool is_src)
- {
-     pixman_image_t *image = NULL;
- 
-@@ -432,7 +405,7 @@ image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
- 
-     if (pict->pDrawable)
-     {
--	image = create_bits_picture (pict, has_clip, xoff, yoff);
-+	image = create_bits_picture (pict, has_clip);
-     }
-     else if (pict->pSourcePict)
-     {
-@@ -453,22 +426,14 @@ image_from_pict_18 (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
- 	    else if (sp->type == SourcePictTypeConical)
- 		image = create_conical_gradient_image (gradient);
- 	}
--	*xoff = *yoff = 0;
-     }
-     
-     if (image)
--	set_image_properties (image, pict, has_clip, xoff, yoff);
-+	set_image_properties (image, pict);
-     
-     return image;
- }
- 
--pixman_image_t *
--image_from_pict (PicturePtr pict, Bool has_clip, Bool is_src)
--{
--    int xoff = 0, yoff = 0;
--    return image_from_pict_18(pict, has_clip, &xoff, &yoff);
--}
--
- void
- free_pixman_pict (PicturePtr pict, pixman_image_t *image)
- {
-@@ -498,4 +463,3 @@ fbPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
- 
-     return TRUE;
- }
--
-diff --git xorg-server-1.7.6/fb/fbtrap.c xorg-server-1.7.6/fb/fbtrap.c
-index 5b5aeae..b1e1eff 100644
---- xorg-server-1.7.6/fb/fbtrap.c
-+++ xorg-server-1.7.6/fb/fbtrap.c
-@@ -40,8 +40,7 @@ fbAddTraps (PicturePtr	pPicture,
- 	    int		ntrap,
- 	    xTrap	*traps)
- {
--    int image_xoff, image_yoff;
--    pixman_image_t *image = image_from_pict_18 (pPicture, FALSE, &image_xoff, &image_yoff);
-+    pixman_image_t *image = image_from_pict (pPicture, FALSE, FALSE);
- 
-     if (!image)
- 	return;
-@@ -57,8 +56,7 @@ fbRasterizeTrapezoid (PicturePtr    pPicture,
- 		      int	    x_off,
- 		      int	    y_off)
- {
--    int	mask_xoff, mask_yoff;
--    pixman_image_t *image = image_from_pict_18 (pPicture, FALSE, &mask_xoff, &mask_yoff);
-+    pixman_image_t *image = image_from_pict (pPicture, FALSE, FALSE);
- 
-     if (!image)
- 	return;
-diff --git xorg-server-1.7.6/fb/wfbrename.h xorg-server-1.7.6/fb/wfbrename.h
-index e9cdca8..73ee510 100644
---- xorg-server-1.7.6/fb/wfbrename.h
-+++ xorg-server-1.7.6/fb/wfbrename.h
-@@ -187,5 +187,4 @@
- #define fbZeroSegment wfbZeroSegment
- #define free_pixman_pict wfb_free_pixman_pict
- #define image_from_pict wfb_image_from_pict
--#define image_from_pict_18 wfb_image_from_pict_18
- #define composeFunctions wfbComposeFunctions
--- 
-1.7.0.2
-

Deleted: trunk/dports/x11/xorg-server/files/0014-GLX-Remove-a-redundant-initialization.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0014-GLX-Remove-a-redundant-initialization.patch	2010-05-04 11:47:53 UTC (rev 67283)
+++ trunk/dports/x11/xorg-server/files/0014-GLX-Remove-a-redundant-initialization.patch	2010-05-04 15:59:23 UTC (rev 67284)
@@ -1,27 +0,0 @@
-From 163286ee33b016cf900f171bb3699bbb1ad2f8a5 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Mon, 22 Mar 2010 09:30:51 -0700
-Subject: [PATCH 14/14] GLX: Remove a redundant initialization
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
-(cherry picked from commit 1c307d64d74ae8719680afcb750840851d33161f)
----
- glx/indirect_dispatch.c |    2 --
- 1 files changed, 0 insertions(+), 2 deletions(-)
-
-diff --git xorg-server-1.7.6/glx/indirect_dispatch.c xorg-server-1.7.6/glx/indirect_dispatch.c
-index 6665519..ecd2bc8 100644
---- xorg-server-1.7.6/glx/indirect_dispatch.c
-+++ xorg-server-1.7.6/glx/indirect_dispatch.c
-@@ -98,8 +98,6 @@ void __glXDisp_CallLists(GLbyte * pc)
-     const GLenum type = *(GLenum   *)(pc +  4);
-     const GLvoid * lists =  (const GLvoid *)(pc +  8);
- 
--    lists = (const GLvoid *) (pc + 8);
--
-     CALL_CallLists( GET_DISPATCH(), (
-         n,
-         type,
--- 
-1.7.0.2
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100504/861bf471/attachment-0001.html>


More information about the macports-changes mailing list