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

jeremyhu at macports.org jeremyhu at macports.org
Wed May 4 13:38:07 PDT 2016


Revision: 148338
          https://trac.macports.org/changeset/148338
Author:   jeremyhu at macports.org
Date:     2016-05-04 13:38:07 -0700 (Wed, 04 May 2016)
Log Message:
-----------
xorg-server: Bump to 1.18.3

Modified Paths:
--------------
    trunk/dports/x11/xorg-server/Portfile
    trunk/dports/x11/xorg-server/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
    trunk/dports/x11/xorg-server/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch

Added Paths:
-----------
    trunk/dports/x11/xorg-server/files/0001-XQuartz-Remove-with-launchd-id-prefix.patch
    trunk/dports/x11/xorg-server/files/0002-XQuartz-Fix-the-help-text-for-with-bundle-id-prefix.patch
    trunk/dports/x11/xorg-server/files/0003-XQuartz-Update-release-feed-URL-to-use-new-https-URL.patch
    trunk/dports/x11/xorg-server/files/0004-XQuartz-Add-with-sparkle-feed-url-configure-option.patch
    trunk/dports/x11/xorg-server/files/0005-XQuartz-Add-with-bundle-version-and-with-bundle-vers.patch
    trunk/dports/x11/xorg-server/files/0006-XQuartz-Update-copyright-years.patch
    trunk/dports/x11/xorg-server/files/5001-Revert-dix-Restore-PaintWindow-screen-hook.patch
    trunk/dports/x11/xorg-server/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
    trunk/dports/x11/xorg-server/files/5003-Use-old-miTrapezoids-and-miTriangles-routines.patch
    trunk/dports/x11/xorg-server/files/5005-fb-Revert-fb-changes-that-broke-XQuartz.patch

Removed Paths:
-------------
    trunk/dports/x11/xorg-server/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
    trunk/dports/x11/xorg-server/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch
    trunk/dports/x11/xorg-server/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch

Modified: trunk/dports/x11/xorg-server/Portfile
===================================================================
--- trunk/dports/x11/xorg-server/Portfile	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/Portfile	2016-05-04 20:38:07 UTC (rev 148338)
@@ -5,8 +5,7 @@
 name		xorg-server
 conflicts       xorg-server-devel
 set my_name	xorg-server
-version		1.17.4
-revision        1
+version		1.18.3
 categories	x11 devel
 license		X11
 maintainers	jeremyhu openmaintainer
@@ -22,8 +21,8 @@
 dist_subdir     ${my_name}
 distname        ${my_name}-${version}
 
-checksums           rmd160  d89d56015d093666e932fd0afc7d51aa2db7cc2f \
-                    sha256  0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457
+checksums           rmd160  a09617c34be796aacd6edcbe470179b2abdcb188 \
+                    sha256  ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd
 
 use_bzip2	yes
 use_parallel_build yes
@@ -88,11 +87,18 @@
 	RAWCPP=${configure.cpp}
 
 patchfiles \
+	0001-XQuartz-Remove-with-launchd-id-prefix.patch \
+	0002-XQuartz-Fix-the-help-text-for-with-bundle-id-prefix.patch \
+	0003-XQuartz-Update-release-feed-URL-to-use-new-https-URL.patch \
+	0004-XQuartz-Add-with-sparkle-feed-url-configure-option.patch \
+	0005-XQuartz-Add-with-bundle-version-and-with-bundle-vers.patch \
+	0006-XQuartz-Update-copyright-years.patch \
 	5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch \
-	5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
-	5002-Use-old-miTrapezoids-and-miTriangles-routines.patch \
-	5003-fb-Revert-fb-changes-that-broke-XQuartz.patch \
-	5004-fb-Revert-fb-changes-that-broke-XQuartz.patch
+	5001-Revert-dix-Restore-PaintWindow-screen-hook.patch \
+	5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
+	5003-Use-old-miTrapezoids-and-miTriangles-routines.patch \
+	5004-fb-Revert-fb-changes-that-broke-XQuartz.patch \
+	5005-fb-Revert-fb-changes-that-broke-XQuartz.patch
 
 patch.pre_args -p1
 

Added: trunk/dports/x11/xorg-server/files/0001-XQuartz-Remove-with-launchd-id-prefix.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0001-XQuartz-Remove-with-launchd-id-prefix.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0001-XQuartz-Remove-with-launchd-id-prefix.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,30 @@
+From 3600f8600f1a876409c3a7f2b29f036156b2c7c6 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:16:46 -0700
+Subject: [PATCH 1/6] XQuartz: Remove --with-launchd-id-prefix
+
+It's been deprecated for years.
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 214a66b661dcb56ebb9776e34049753f65c7510a)
+---
+ configure.ac | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 77cf234..c7b2258 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -555,9 +555,6 @@ AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name
+ 				[ APPLE_APPLICATION_NAME="${withval}" ],
+ 				[ APPLE_APPLICATION_NAME="X11" ])
+ AC_SUBST([APPLE_APPLICATION_NAME])
+-AC_ARG_WITH(launchd-id-prefix,  AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Deprecated: Use --with-bundle-id-prefix.]),
+-                                [ BUNDLE_ID_PREFIX="${withval}" ],
+-                                [ BUNDLE_ID_PREFIX="org.x" ])
+ AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=PATH], [Prefix to use for bundle identifiers (default: org.x)]),
+                                [ BUNDLE_ID_PREFIX="${withval}" ])
+ AC_SUBST([BUNDLE_ID_PREFIX])
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/0002-XQuartz-Fix-the-help-text-for-with-bundle-id-prefix.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0002-XQuartz-Fix-the-help-text-for-with-bundle-id-prefix.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0002-XQuartz-Fix-the-help-text-for-with-bundle-id-prefix.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,27 @@
+From ab5f69e5419b34f21cfd30d38374d14103a88f40 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:24:44 -0700
+Subject: [PATCH 2/6] XQuartz: Fix the help text for --with-bundle-id-prefix
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 16d6733c63727d910eb516d7f6950f4675281f2d)
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c7b2258..857a181 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -555,7 +555,7 @@ AC_ARG_WITH(apple-application-name,AS_HELP_STRING([--with-apple-application-name
+ 				[ APPLE_APPLICATION_NAME="${withval}" ],
+ 				[ APPLE_APPLICATION_NAME="X11" ])
+ AC_SUBST([APPLE_APPLICATION_NAME])
+-AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=PATH], [Prefix to use for bundle identifiers (default: org.x)]),
++AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=RDNS_PREFIX], [Prefix to use for bundle identifiers (default: org.x)]),
+                                [ BUNDLE_ID_PREFIX="${withval}" ])
+ AC_SUBST([BUNDLE_ID_PREFIX])
+ AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$BUNDLE_ID_PREFIX", [Prefix to use for bundle identifiers])
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/0003-XQuartz-Update-release-feed-URL-to-use-new-https-URL.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0003-XQuartz-Update-release-feed-URL-to-use-new-https-URL.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0003-XQuartz-Update-release-feed-URL-to-use-new-https-URL.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,40 @@
+From a1915ad14d89bdcd0f2a6607d6d1cb8f90201158 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:14:24 -0700
+Subject: [PATCH 3/6] XQuartz: Update release feed URL to use new https URL
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 299b01eabf827a7435b5d6004d50637ac710bbc7)
+---
+ hw/xquartz/bundle/Info.plist.cpp | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
+index 06e33f8..d98eaa6 100644
+--- a/hw/xquartz/bundle/Info.plist.cpp
++++ b/hw/xquartz/bundle/Info.plist.cpp
+@@ -34,20 +34,7 @@
+ 	<key>SUPublicDSAKeyFile</key>
+ 		<string>sparkle.pem</string>
+         <key>SUFeedURL</key>
+-                <string>http://xquartz.macosforge.org/downloads/sparkle/release.xml</string>
+-	<key>NSAppTransportSecurity</key>
+-	<dict>
+-		<key>NSExceptionDomains</key>
+-		<dict>
+-			<key>macosforge.org</key>
+-			<dict>
+-				<key>NSIncludesSubdomains</key>
+-				<true/>
+-				<key>NSExceptionAllowsInsecureHTTPLoads</key>
+-				<true/>
+-			</dict>
+-		</dict>
+-	</dict>
++                <string>https://www.xquartz.org/releases/sparkle/release.xml</string>
+ #endif
+ 	<key>LSApplicationCategoryType</key>
+ 		<string>public.app-category.utilities</string>
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/0004-XQuartz-Add-with-sparkle-feed-url-configure-option.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0004-XQuartz-Add-with-sparkle-feed-url-configure-option.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0004-XQuartz-Add-with-sparkle-feed-url-configure-option.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,57 @@
+From bab72d3905bdafe4815ab1dc5509988c8e467769 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:21:38 -0700
+Subject: [PATCH 4/6] XQuartz: Add --with-sparkle-feed-url configure option
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit c1614928c10a8f8400f99acfd1b7f96d503af7ec)
+---
+ configure.ac                     | 4 ++++
+ hw/xquartz/bundle/Info.plist.cpp | 2 +-
+ hw/xquartz/bundle/Makefile.am    | 2 +-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 857a181..2ec734c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -563,6 +563,10 @@ AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11
+ 				[ XQUARTZ_SPARKLE="${enableval}" ],
+ 				[ XQUARTZ_SPARKLE="no" ])
+ AC_SUBST([XQUARTZ_SPARKLE])
++AC_ARG_WITH(sparkle-feed-url,  AS_HELP_STRING([--with-sparkle-feed-url=URL], [URL for the Sparkle feed (default: https://www.xquartz.org/releases/sparkle/release.xml)]),
++                               [ XQUARTZ_SPARKLE_FEED_URL="${withval}" ],
++                               [ XQUARTZ_SPARKLE_FEED_URL="https://www.xquartz.org/releases/sparkle/release.xml" ])
++AC_SUBST([XQUARTZ_SPARKLE_FEED_URL])
+ AC_ARG_ENABLE(visibility,     AS_HELP_STRING([--enable-visibility], [Enable symbol visibility (default: auto)]),
+ 				[SYMBOL_VISIBILITY=$enableval],
+ 				[SYMBOL_VISIBILITY=auto])
+diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
+index d98eaa6..8d543a1 100644
+--- a/hw/xquartz/bundle/Info.plist.cpp
++++ b/hw/xquartz/bundle/Info.plist.cpp
+@@ -34,7 +34,7 @@
+ 	<key>SUPublicDSAKeyFile</key>
+ 		<string>sparkle.pem</string>
+         <key>SUFeedURL</key>
+-                <string>https://www.xquartz.org/releases/sparkle/release.xml</string>
++                <string>XQUARTZ_SPARKLE_FEED_URL</string>
+ #endif
+ 	<key>LSApplicationCategoryType</key>
+ 		<string>public.app-category.utilities</string>
+diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
+index 0740752..ac293db 100644
+--- a/hw/xquartz/bundle/Makefile.am
++++ b/hw/xquartz/bundle/Makefile.am
+@@ -5,7 +5,7 @@ CPP_FILES_FLAGS = \
+ 	-DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)"
+ 
+ if XQUARTZ_SPARKLE
+-CPP_FILES_FLAGS += -DXQUARTZ_SPARKLE
++CPP_FILES_FLAGS += -DXQUARTZ_SPARKLE -DXQUARTZ_SPARKLE_FEED_URL="$(XQUARTZ_SPARKLE_FEED_URL)"
+ endif
+ 
+ install-data-hook:
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/0005-XQuartz-Add-with-bundle-version-and-with-bundle-vers.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0005-XQuartz-Add-with-bundle-version-and-with-bundle-vers.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0005-XQuartz-Add-with-bundle-version-and-with-bundle-vers.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,70 @@
+From 73987379d73cd6ef2701dad7e3027f9363cb81b4 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:42:34 -0700
+Subject: [PATCH 5/6] XQuartz: Add --with-bundle-version and
+ --with-bundle-version-string configure options
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit d6ba4f2c52da150a9a92bdb00efe7902d17033bd)
+---
+ configure.ac                     | 10 ++++++++++
+ hw/xquartz/bundle/Info.plist.cpp |  4 ++--
+ hw/xquartz/bundle/Makefile.am    |  4 +++-
+ 3 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2ec734c..a3c6382 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -559,6 +559,16 @@ AC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=RDNS_PREF
+                                [ BUNDLE_ID_PREFIX="${withval}" ])
+ AC_SUBST([BUNDLE_ID_PREFIX])
+ AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$BUNDLE_ID_PREFIX", [Prefix to use for bundle identifiers])
++DEFAULT_BUNDLE_VERSION=`echo ${PACKAGE_VERSION} | cut -f1-3 -d.`
++m4_define(DEFAULT_BUNDLE_VERSION, m4_esyscmd([echo ]AC_PACKAGE_VERSION[ | cut -f1-3 -d.]))
++AC_ARG_WITH(bundle-version,    AS_HELP_STRING([--with-bundle-version=VERSION], [Version to use for X11.app's CFBundleVersion (default: ]DEFAULT_BUNDLE_VERSION[)]),
++                               [ BUNDLE_VERSION="${withval}" ],
++                               [ BUNDLE_VERSION="${DEFAULT_BUNDLE_VERSION}" ])
++AC_SUBST([BUNDLE_VERSION])
++AC_ARG_WITH(bundle-version-string, AS_HELP_STRING([--with-bundle-version-string=VERSION], [Version to use for X11.app's CFBundleShortVersionString (default: ]AC_PACKAGE_VERSION[)]),
++                               [ BUNDLE_VERSION_STRING="${withval}" ],
++                               [ BUNDLE_VERSION_STRING="${PACKAGE_VERSION}" ])
++AC_SUBST([BUNDLE_VERSION_STRING])
+ AC_ARG_ENABLE(sparkle,AS_HELP_STRING([--enable-sparkle], [Enable updating of X11.app using the Sparkle Framework (default: disabled)]),
+ 				[ XQUARTZ_SPARKLE="${enableval}" ],
+ 				[ XQUARTZ_SPARKLE="no" ])
+diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
+index 8d543a1..f6a72af 100644
+--- a/hw/xquartz/bundle/Info.plist.cpp
++++ b/hw/xquartz/bundle/Info.plist.cpp
+@@ -19,9 +19,9 @@
+ 	<key>CFBundlePackageType</key>
+ 		<string>APPL</string>
+ 	<key>CFBundleShortVersionString</key>
+-		<string>2.7.7</string>
++		<string>BUNDLE_VERSION_STRING</string>
+ 	<key>CFBundleVersion</key>
+-		<string>2.7.7</string>
++		<string>BUNDLE_VERSION</string>
+ 	<key>CFBundleSignature</key>
+ 		<string>x11a</string>
+ 	<key>CSResourcesFileMapped</key>
+diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
+index ac293db..424a747 100644
+--- a/hw/xquartz/bundle/Makefile.am
++++ b/hw/xquartz/bundle/Makefile.am
+@@ -1,8 +1,10 @@
+ include cpprules.in
+ 
+ CPP_FILES_FLAGS = \
++	-DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)" \
+ 	-DBUNDLE_ID_PREFIX="$(BUNDLE_ID_PREFIX)" \
+-	-DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)"
++	-DBUNDLE_VERSION="$(BUNDLE_VERSION)" \
++	-DBUNDLE_VERSION_STRING="$(BUNDLE_VERSION_STRING)"
+ 
+ if XQUARTZ_SPARKLE
+ CPP_FILES_FLAGS += -DXQUARTZ_SPARKLE -DXQUARTZ_SPARKLE_FEED_URL="$(XQUARTZ_SPARKLE_FEED_URL)"
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/0006-XQuartz-Update-copyright-years.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0006-XQuartz-Update-copyright-years.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0006-XQuartz-Update-copyright-years.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,30 @@
+From 1a81f2a51955e5c8a9d1d80cc008e2927ddd0123 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 3 May 2016 23:43:06 -0700
+Subject: [PATCH 6/6] XQuartz: Update copyright years
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 059d5ef30490233f410ca87084c7697b87e5b05e)
+---
+ hw/xquartz/bundle/Info.plist.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
+index f6a72af..3742353 100644
+--- a/hw/xquartz/bundle/Info.plist.cpp
++++ b/hw/xquartz/bundle/Info.plist.cpp
+@@ -39,9 +39,9 @@
+ 	<key>LSApplicationCategoryType</key>
+ 		<string>public.app-category.utilities</string>
+ 	<key>NSHumanReadableCopyright</key>
+-		<string>© 2003-2013 Apple Inc.
++		<string>© 2003-2016 Apple Inc.
+ © 2003 XFree86 Project, Inc.
+-© 2003-2013 X.org Foundation, Inc.
++© 2003-2016 X.org Foundation, Inc.
+ </string>
+ 	<key>NSMainNibFile</key>
+ 		<string>main</string>
+-- 
+2.8.1
+

Modified: trunk/dports/x11/xorg-server/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -1,7 +1,7 @@
-From dfc68da05dee3746d12a276975ef24857f3c8d3c Mon Sep 17 00:00:00 2001
+From da0dc81ea081657dba3ba492359593ba40d7245a Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston <jeremyhu at apple.com>
 Date: Fri, 13 Jan 2012 12:00:57 -0800
-Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS
+Subject: [PATCH 5000/5005] sdksyms.sh: Use CPPFLAGS, not CFLAGS
 
 CFLAGS can include flags which are not useful to the preprocessor
 or can even cause it to fail.  This fixes a build issue on darwin
@@ -14,7 +14,7 @@
  1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index 27f2cc6..d898c43 100644
+index 85bd0be..6de7c10 100644
 --- a/hw/xfree86/Makefile.am
 +++ b/hw/xfree86/Makefile.am
 @@ -48,8 +48,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
@@ -22,12 +22,12 @@
  nodist_Xorg_SOURCES = sdksyms.c
  
 -AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
--AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
-+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+-AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser \
++AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser \
  	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
  	-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
  
-@@ -135,7 +134,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
+@@ -137,7 +136,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
  EXTRA_DIST += sdksyms.sh
  
  sdksyms.dep sdksyms.c: sdksyms.sh
@@ -37,5 +37,5 @@
  SDKSYMS_DEP = sdksyms.dep
  -include $(SDKSYMS_DEP)
 -- 
-2.6.3
+2.8.1
 

Added: trunk/dports/x11/xorg-server/files/5001-Revert-dix-Restore-PaintWindow-screen-hook.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5001-Revert-dix-Restore-PaintWindow-screen-hook.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/5001-Revert-dix-Restore-PaintWindow-screen-hook.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,348 @@
+From 1d3dba846a7e51608b71797e7510d114555bfcd3 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sat, 26 Dec 2015 10:56:52 -0800
+Subject: [PATCH 5001/5005] Revert "dix: Restore PaintWindow screen hook"
+
+This reverts commit cbd3cfbad3f07b20e90ea9498110f255813eb441.
+---
+ composite/compwindow.c          |  2 +-
+ dix/window.c                    |  4 ++--
+ hw/xquartz/quartz.c             |  4 ++--
+ hw/xwin/winrandr.c              |  2 +-
+ include/scrnintstr.h            |  5 -----
+ mi/miexpose.c                   | 32 +++++++++++++++++++++++++++-----
+ mi/mioverlay.c                  | 11 +++++------
+ mi/miscrinit.c                  |  1 -
+ mi/miwindow.c                   |  6 ++----
+ miext/rootless/rootlessCommon.h |  1 -
+ miext/rootless/rootlessScreen.c |  3 +--
+ miext/rootless/rootlessWindow.c | 23 +----------------------
+ miext/rootless/rootlessWindow.h |  1 -
+ 13 files changed, 42 insertions(+), 53 deletions(-)
+
+diff --git a/composite/compwindow.c b/composite/compwindow.c
+index 344138a..77bdfa2 100644
+--- a/composite/compwindow.c
++++ b/composite/compwindow.c
+@@ -104,7 +104,7 @@ compRepaintBorder(ClientPtr pClient, void *closure)
+ 
+         RegionNull(&exposed);
+         RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize);
+-        pWindow->drawable.pScreen->PaintWindow(pWindow, &exposed, PW_BORDER);
++        miPaintWindow(pWindow, &exposed, PW_BORDER);
+         RegionUninit(&exposed);
+     }
+     return TRUE;
+diff --git a/dix/window.c b/dix/window.c
+index ead4dc2..6f31396 100644
+--- a/dix/window.c
++++ b/dix/window.c
+@@ -1592,7 +1592,7 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client)
+ 
+         RegionNull(&exposed);
+         RegionSubtract(&exposed, &pWin->borderClip, &pWin->winSize);
+-        pWin->drawable.pScreen->PaintWindow(pWin, &exposed, PW_BORDER);
++        miPaintWindow(pWin, &exposed, PW_BORDER);
+         RegionUninit(&exposed);
+     }
+     return error;
+@@ -3159,7 +3159,7 @@ dixSaveScreens(ClientPtr client, int on, int mode)
+ 
+                 /* make it look like screen saver is off, so that
+                  * NotClippedByChildren will compute a clip list
+-                 * for the root window, so PaintWindow works
++                 * for the root window, so miPaintWindow works
+                  */
+                 screenIsSaved = SCREEN_SAVER_OFF;
+                 (*pWin->drawable.pScreen->MoveWindow) (pWin,
+diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
+index c8b6f96..2def8e3 100644
+--- a/hw/xquartz/quartz.c
++++ b/hw/xquartz/quartz.c
+@@ -300,8 +300,8 @@ QuartzUpdateScreens(void)
+ 
+     quartzProcs->UpdateScreen(pScreen);
+ 
+-    /* PaintWindow needs to be called after RootlessUpdateScreenPixmap (from xprUpdateScreen) */
+-    pScreen->PaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
++    /* miPaintWindow needs to be called after RootlessUpdateScreenPixmap (from xprUpdateScreen) */
++    miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
+ 
+     /* Tell RandR about the new size, so new connections get the correct info */
+     RRScreenSizeNotify(pScreen);
+diff --git a/hw/xwin/winrandr.c b/hw/xwin/winrandr.c
+index 1560199..73bbc9d 100644
+--- a/hw/xwin/winrandr.c
++++ b/hw/xwin/winrandr.c
+@@ -134,7 +134,7 @@ winDoRandRScreenSetSize(ScreenPtr pScreen,
+     SetRootClip(pScreen, ROOT_CLIP_FULL);
+ 
+     // and arrange for it to be repainted
+-    pScreen->PaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
++    miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
+ 
+     /* Indicate that a screen size change took place */
+     RRScreenSizeNotify(pScreen);
+diff --git a/include/scrnintstr.h b/include/scrnintstr.h
+index 2e617c4..a627fe7 100644
+--- a/include/scrnintstr.h
++++ b/include/scrnintstr.h
+@@ -158,10 +158,6 @@ typedef void (*PostValidateTreeProcPtr) (WindowPtr /*pParent */ ,
+ typedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ ,
+                                         RegionPtr /*prgn */);
+ 
+-typedef void (*PaintWindowProcPtr) (WindowPtr /*pWindow*/,
+-                                    RegionPtr /*pRegion*/,
+-                                    int /*what*/);
+-
+ typedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ ,
+                                    DDXPointRec /*ptOldOrg */ ,
+                                    RegionPtr /*prgnSrc */ );
+@@ -502,7 +498,6 @@ typedef struct _Screen {
+     ClearToBackgroundProcPtr ClearToBackground;
+     ClipNotifyProcPtr ClipNotify;
+     RestackWindowProcPtr RestackWindow;
+-    PaintWindowProcPtr PaintWindow;
+ 
+     /* Pixmap procedures */
+ 
+diff --git a/mi/miexpose.c b/mi/miexpose.c
+index 148d1a6..f4c6e89 100644
+--- a/mi/miexpose.c
++++ b/mi/miexpose.c
+@@ -268,11 +268,10 @@ miHandleExposures(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
+         RegionTranslate(&rgnExposed, pDstDrawable->x, pDstDrawable->y);
+ 
+         if (extents) {
+-            /* PaintWindow doesn't clip, so we have to */
++            /* miPaintWindow doesn't clip, so we have to */
+             RegionIntersect(&rgnExposed, &rgnExposed, &pWin->clipList);
+         }
+-        pDstDrawable->pScreen->PaintWindow((WindowPtr) pDstDrawable,
+-                                           &rgnExposed, PW_BACKGROUND);
++        miPaintWindow((WindowPtr) pDstDrawable, &rgnExposed, PW_BACKGROUND);
+ 
+         if (extents) {
+             RegionReset(&rgnExposed, &expBox);
+@@ -384,14 +383,16 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
+              * work overall, on both client and server.  This is cheating, but
+              * isn't prohibited by the protocol ("spontaneous combustion" :-).
+              */
+-            BoxRec box = *RegionExtents(prgn);
++            BoxRec box;
++
++            box = *RegionExtents(prgn);
+             exposures = &expRec;
+             RegionInit(exposures, &box, 1);
+             RegionReset(prgn, &box);
+             /* miPaintWindow doesn't clip, so we have to */
+             RegionIntersect(prgn, prgn, &pWin->clipList);
+         }
+-        pWin->drawable.pScreen->PaintWindow(pWin, prgn, PW_BACKGROUND);
++        miPaintWindow(pWin, prgn, PW_BACKGROUND);
+         if (clientInterested)
+             miSendExposures(pWin, exposures,
+                             pWin->drawable.x, pWin->drawable.y);
+@@ -401,6 +402,14 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
+     }
+ }
+ 
++#ifdef ROOTLESS
++/* Ugly, ugly, but we lost our hooks into miPaintWindow... =/ */
++void RootlessSetPixmapOfAncestors(WindowPtr pWin);
++void RootlessStartDrawing(WindowPtr pWin);
++void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
++Bool IsFramedWindow(WindowPtr pWin);
++#endif
++
+ void
+ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ {
+@@ -428,6 +437,19 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     Bool solid = TRUE;
+     DrawablePtr drawable = &pWin->drawable;
+ 
++#ifdef ROOTLESS
++    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) {
+         while (pWin->backgroundState == ParentRelative)
+             pWin = pWin->parent;
+diff --git a/mi/mioverlay.c b/mi/mioverlay.c
+index b8b7a5b..a2715e9 100644
+--- a/mi/mioverlay.c
++++ b/mi/mioverlay.c
+@@ -844,8 +844,8 @@ miOverlayHandleExposures(WindowPtr pWin)
+             if ((mival = pTree->valdata)) {
+                 if (!((*pPriv->InOverlay) (pTree->pWin))) {
+                     if (RegionNotEmpty(&mival->borderExposed)) {
+-                        pScreen->PaintWindow(pTree->pWin, &mival->borderExposed,
+-                                             PW_BORDER);
++                        miPaintWindow(pTree->pWin, &mival->borderExposed,
++                                      PW_BORDER);
+                     }
+                     RegionUninit(&mival->borderExposed);
+ 
+@@ -883,8 +883,7 @@ miOverlayHandleExposures(WindowPtr pWin)
+             }
+             else {
+                 if (RegionNotEmpty(&val->after.borderExposed)) {
+-                    pScreen->PaintWindow(pChild, &val->after.borderExposed,
+-                                         PW_BORDER);
++                    miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
+                 }
+                 (*WindowExposures) (pChild, &val->after.exposed);
+             }
+@@ -1008,7 +1007,7 @@ miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
+             else
+                 RegionIntersect(prgn, prgn, &pWin->clipList);
+         }
+-        pScreen->PaintWindow(pWin, prgn, PW_BACKGROUND);
++        miPaintWindow(pWin, prgn, PW_BACKGROUND);
+         if (clientInterested)
+             miSendExposures(pWin, exposures,
+                             pWin->drawable.x, pWin->drawable.y);
+@@ -1607,7 +1606,7 @@ miOverlayClearToBackground(WindowPtr pWin,
+     if (generateExposures)
+         (*pScreen->WindowExposures) (pWin, &reg);
+     else if (pWin->backgroundState != None)
+-        pScreen->PaintWindow(pWin, &reg, PW_BACKGROUND);
++        miPaintWindow(pWin, &reg, PW_BACKGROUND);
+     RegionUninit(&reg);
+ }
+ 
+diff --git a/mi/miscrinit.c b/mi/miscrinit.c
+index 9c6af0d..b53c7e4 100644
+--- a/mi/miscrinit.c
++++ b/mi/miscrinit.c
+@@ -253,7 +253,6 @@ miScreenInit(ScreenPtr pScreen, void *pbits,  /* pointer to screen bits */
+     pScreen->ClearToBackground = miClearToBackground;
+     pScreen->ClipNotify = (ClipNotifyProcPtr) 0;
+     pScreen->RestackWindow = (RestackWindowProcPtr) 0;
+-    pScreen->PaintWindow = miPaintWindow;
+     /* CreatePixmap, DestroyPixmap */
+     /* RealizeFont, UnrealizeFont */
+     /* CreateGC */
+diff --git a/mi/miwindow.c b/mi/miwindow.c
+index 39c279e..2fc7cfb 100644
+--- a/mi/miwindow.c
++++ b/mi/miwindow.c
+@@ -113,7 +113,7 @@ miClearToBackground(WindowPtr pWin,
+     if (generateExposures)
+         (*pWin->drawable.pScreen->WindowExposures) (pWin, &reg);
+     else if (pWin->backgroundState != None)
+-        pWin->drawable.pScreen->PaintWindow(pWin, &reg, PW_BACKGROUND);
++        miPaintWindow(pWin, &reg, PW_BACKGROUND);
+     RegionUninit(&reg);
+ }
+ 
+@@ -219,9 +219,7 @@ miHandleValidateExposures(WindowPtr pWin)
+     while (1) {
+         if ((val = pChild->valdata)) {
+             if (RegionNotEmpty(&val->after.borderExposed))
+-                pWin->drawable.pScreen->PaintWindow(pChild,
+-                                                    &val->after.borderExposed,
+-                                                    PW_BORDER);
++                miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
+             RegionUninit(&val->after.borderExposed);
+             (*WindowExposures) (pChild, &val->after.exposed);
+             RegionUninit(&val->after.exposed);
+diff --git a/miext/rootless/rootlessCommon.h b/miext/rootless/rootlessCommon.h
+index c3fa2a2..7fdea22 100644
+--- a/miext/rootless/rootlessCommon.h
++++ b/miext/rootless/rootlessCommon.h
+@@ -94,7 +94,6 @@ typedef struct _RootlessScreenRec {
+     ChangeBorderWidthProcPtr ChangeBorderWidth;
+     PositionWindowProcPtr PositionWindow;
+     ChangeWindowAttributesProcPtr ChangeWindowAttributes;
+-    PaintWindowProcPtr PaintWindow;
+ 
+     CreateGCProcPtr CreateGC;
+     CopyWindowProcPtr CopyWindow;
+diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c
+index 4716564..6226ee8 100644
+--- a/miext/rootless/rootlessScreen.c
++++ b/miext/rootless/rootlessScreen.c
+@@ -473,7 +473,7 @@ expose_1(WindowPtr pWin)
+     if (!pWin->realized)
+         return;
+ 
+-    pWin->drawable.pScreen->PaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND);
++    miPaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND);
+ 
+     /* FIXME: comments in windowstr.h indicate that borderClip doesn't
+        include subwindow visibility. But I'm not so sure.. so we may
+@@ -669,7 +669,6 @@ RootlessWrap(ScreenPtr pScreen)
+     WRAP(CloseScreen);
+     WRAP(CreateGC);
+     WRAP(CopyWindow);
+-    WRAP(PaintWindow);
+     WRAP(GetImage);
+     WRAP(SourceValidate);
+     WRAP(CreateWindow);
+diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c
+index e304299..3240acc 100644
+--- a/miext/rootless/rootlessWindow.c
++++ b/miext/rootless/rootlessWindow.c
+@@ -720,7 +720,7 @@ RootlessResizeCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
+ /*
+  * RootlessCopyWindow
+  *  Update *new* location of window. Old location is redrawn with
+- *  PaintWindow. Cloned from fbCopyWindow.
++ *  miPaintWindow. Cloned from fbCopyWindow.
+  *  The original always draws on the root pixmap, which we don't have.
+  *  Instead, draw on the parent window's pixmap.
+  */
+@@ -794,27 +794,6 @@ RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
+     RL_DEBUG_MSG("copywindowFB end\n");
+ }
+ 
+-void
+-RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+-{
+-    ScreenPtr pScreen = pWin->drawable.pScreen;
+-
+-    if (IsFramedWindow(pWin)) {
+-        RootlessStartDrawing(pWin);
+-        RootlessDamageRegion(pWin, prgn);
+-
+-        if (pWin->backgroundState == ParentRelative) {
+-            if ((what == PW_BACKGROUND) ||
+-                (what == PW_BORDER && !pWin->borderIsPixel))
+-                RootlessSetPixmapOfAncestors(pWin);
+-        }
+-    }
+-
+-    SCREEN_UNWRAP(pScreen, PaintWindow);
+-    pScreen->PaintWindow(pWin, prgn, what);
+-    SCREEN_WRAP(pScreen, PaintWindow);
+-}
+-
+ /*
+  * Window resize procedures
+  */
+diff --git a/miext/rootless/rootlessWindow.h b/miext/rootless/rootlessWindow.h
+index 4fd34d5..d3955fc 100644
+--- a/miext/rootless/rootlessWindow.h
++++ b/miext/rootless/rootlessWindow.h
+@@ -48,7 +48,6 @@ Bool RootlessUnrealizeWindow(WindowPtr pWin);
+ void RootlessRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib);
+ void RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
+                         RegionPtr prgnSrc);
+-void RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what);
+ void RootlessMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib,
+                         VTKind kind);
+ void RootlessResizeWindow(WindowPtr pWin, int x, int y, unsigned int w,
+-- 
+2.8.1
+

Deleted: trunk/dports/x11/xorg-server/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -1,164 +0,0 @@
-From 3b373e580907bdf97d17057db309df4055f5d4b8 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 5001/5004] Workaround the GC clipping problem in miPaintWindow
- and add some debugging output.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
----
- mi/miexpose.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
- 1 file changed, 93 insertions(+), 10 deletions(-)
-
-diff --git a/mi/miexpose.c b/mi/miexpose.c
-index 3e49f15..bfb8333 100644
---- a/mi/miexpose.c
-+++ b/mi/miexpose.c
-@@ -408,7 +408,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
- void RootlessStartDrawing(WindowPtr pWin);
- void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
- Bool IsFramedWindow(WindowPtr pWin);
--#endif
-+#include "../fb/fb.h"
-+#endif 
- 
- void
- miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
-@@ -437,23 +438,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;
-+#endif
-+    
-+    if (what == PW_BACKGROUND)
-+    {
-+#ifdef ROOTLESS
-+        if(IsFramedWindow(pWin)) {
-+            RootlessStartDrawing(pWin);
-+            RootlessDamageRegion(pWin, prgn);
- 
--    if (IsFramedWindow(pWin)) {
--        RootlessStartDrawing(pWin);
--        RootlessDamageRegion(pWin, prgn);
--
--        if (pWin->backgroundState == ParentRelative) {
--            if ((what == PW_BACKGROUND) ||
--                (what == PW_BORDER && !pWin->borderIsPixel))
-+            if(pWin->backgroundState == ParentRelative) {
-                 RootlessSetPixmapOfAncestors(pWin);
-+            }
-         }
--    }
- #endif
- 
--    if (what == PW_BACKGROUND) {
-         while (pWin->backgroundState == ParentRelative)
-             pWin = pWin->parent;
- 
-@@ -478,6 +493,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
-     else {
-         PixmapPtr pixmap;
- 
-+#ifdef ROOTLESS
-+	if(IsFramedWindow(pWin)) {
-+	    RootlessStartDrawing(pWin);
-+	    RootlessDamageRegion(pWin, prgn);
-+	    
-+	    if(!pWin->borderIsPixel &&
-+		pWin->backgroundState == ParentRelative) {
-+		RootlessSetPixmapOfAncestors(pWin);
-+	    }
-+	}
-+#endif
-+
-         fill = pWin->border;
-         solid = pWin->borderIsPixel;
- 
-@@ -487,6 +514,11 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
-         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
-+	
-         while (pWin->backgroundState == ParentRelative)
-             pWin = pWin->parent;
- 
-@@ -553,6 +585,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
-     ChangeGC(NullClient, pGC, gcmask, 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 = RegionNumRects(prgn);
-     pbox = RegionRects(prgn);
-     for (i = numRects; --i >= 0; pbox++, prect++) {
--- 
-2.6.3
-

Deleted: trunk/dports/x11/xorg-server/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -1,297 +0,0 @@
-From 378118bbf40f70ca3fb7bb9d6e564aaefec104be Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
-Date: Sat, 2 Nov 2013 11:00:23 -0700
-Subject: [PATCH 5002/5004] Use old miTrapezoids and miTriangles routines
-
-Reverts commits:
-    788ccb9a8bcf6a4fb4054c507111eec3338fb969
-    566f1931ee2916269e164e114bffaf2da1d039d1
-
-http://xquartz.macosforge.org/trac/ticket/525
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
----
- fb/fbpict.c     |   2 -
- render/mipict.c |   4 +-
- render/mipict.h |  27 ++++++++++++++
- render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- render/mitri.c  |  61 +++++++++++++++++++++++++++++++
- 5 files changed, 201 insertions(+), 4 deletions(-)
-
-diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 5f6c88e..936a11b 100644
---- a/fb/fbpict.c
-+++ b/fb/fbpict.c
-@@ -508,10 +508,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-     ps->UnrealizeGlyph = fbUnrealizeGlyph;
-     ps->CompositeRects = miCompositeRects;
-     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
--    ps->Trapezoids = fbTrapezoids;
-     ps->AddTraps = fbAddTraps;
-     ps->AddTriangles = fbAddTriangles;
--    ps->Triangles = fbTriangles;
- 
-     return TRUE;
- }
-diff --git a/render/mipict.c b/render/mipict.c
-index a725104..e14293a 100644
---- a/render/mipict.c
-+++ b/render/mipict.c
-@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-     ps->Composite = 0;          /* requires DDX support */
-     ps->Glyphs = miGlyphs;
-     ps->CompositeRects = miCompositeRects;
--    ps->Trapezoids = 0;
--    ps->Triangles = 0;
-+    ps->Trapezoids = miTrapezoids;
-+    ps->Triangles = miTriangles;
- 
-     ps->RasterizeTrapezoid = 0; /* requires DDX support */
-     ps->AddTraps = 0;           /* requires DDX support */
-diff --git a/render/mipict.h b/render/mipict.h
-index 23ce9e8..e0f1d4c 100644
---- a/render/mipict.h
-+++ b/render/mipict.h
-@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
-                  xRenderColor * color, int nRect, xRectangle *rects);
- 
- extern _X_EXPORT void
-+miTriangles (CARD8	    op,
-+	     PicturePtr	    pSrc,
-+	     PicturePtr	    pDst,
-+	     PictFormatPtr  maskFormat,
-+	     INT16	    xSrc,
-+	     INT16	    ySrc,
-+	     int	    ntri,
-+	     xTriangle	    *tris);
-+
-+extern _X_EXPORT void
- 
- miTriStrip(CARD8 op,
-            PicturePtr pSrc,
-@@ -137,10 +147,27 @@ miTriFan(CARD8 op,
-          PictFormatPtr maskFormat,
-          INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
- 
-+extern _X_EXPORT PicturePtr
-+miCreateAlphaPicture (ScreenPtr	    pScreen, 
-+		      PicturePtr    pDst,
-+		      PictFormatPtr pPictFormat,
-+		      CARD16	    width,
-+		      CARD16	    height);
-+
- extern _X_EXPORT void
-  miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
- 
- extern _X_EXPORT void
-+miTrapezoids (CARD8        op,
-+             PicturePtr    pSrc,
-+             PicturePtr    pDst,
-+             PictFormatPtr maskFormat,
-+             INT16         xSrc,
-+             INT16         ySrc,
-+             int           ntrap,
-+             xTrapezoid    *traps);
-+
-+extern _X_EXPORT void
-  miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
- 
- extern _X_EXPORT void
-diff --git a/render/mitrap.c b/render/mitrap.c
-index 17b6dcd..71c1857 100644
---- a/render/mitrap.c
-+++ b/render/mitrap.c
-@@ -34,6 +34,55 @@
- #include "picturestr.h"
- #include "mipict.h"
- 
-+PicturePtr
-+miCreateAlphaPicture (ScreenPtr	    pScreen, 
-+		      PicturePtr    pDst,
-+		      PictFormatPtr pPictFormat,
-+		      CARD16	    width,
-+		      CARD16	    height)
-+{
-+    PixmapPtr	    pPixmap;
-+    PicturePtr	    pPicture;
-+    GCPtr	    pGC;
-+    int		    error;
-+    xRectangle	    rect;
-+
-+    if (width > 32767 || height > 32767)
-+	return 0;
-+
-+    if (!pPictFormat)
-+    {
-+	if (pDst->polyEdge == PolyEdgeSharp)
-+	    pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+	else
-+	    pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+	if (!pPictFormat)
-+	    return 0;
-+    }
-+
-+    pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 
-+					pPictFormat->depth, 0);
-+    if (!pPixmap)
-+	return 0;
-+    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
-+    if (!pGC)
-+    {
-+	(*pScreen->DestroyPixmap) (pPixmap);
-+	return 0;
-+    }
-+    ValidateGC (&pPixmap->drawable, pGC);
-+    rect.x = 0;
-+    rect.y = 0;
-+    rect.width = width;
-+    rect.height = height;
-+    (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
-+    FreeScratchGC (pGC);
-+    pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
-+			      0, 0, serverClient, &error);
-+    (*pScreen->DestroyPixmap) (pPixmap);
-+    return pPicture;
-+}
-+
- static xFixed
- miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
- {
-@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
-             box->x2 = x2;
-     }
- }
-+
-+
-+void
-+miTrapezoids (CARD8        op,
-+             PicturePtr    pSrc,
-+             PicturePtr    pDst,
-+             PictFormatPtr maskFormat,
-+             INT16         xSrc,
-+             INT16         ySrc,
-+             int           ntrap,
-+             xTrapezoid    *traps)
-+{
-+    ScreenPtr          pScreen = pDst->pDrawable->pScreen;
-+    PictureScreenPtr    ps = GetPictureScreen(pScreen);
-+
-+    /*
-+     * Check for solid alpha add
-+     */
-+    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
-+    {
-+       for (; ntrap; ntrap--, traps++)
-+           (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
-+    } 
-+    else if (maskFormat)
-+    {
-+       PicturePtr      pPicture;
-+       BoxRec          bounds;
-+       INT16           xDst, yDst;
-+       INT16           xRel, yRel;
-+       
-+       xDst = traps[0].left.p1.x >> 16;
-+       yDst = traps[0].left.p1.y >> 16;
-+
-+       miTrapezoidBounds (ntrap, traps, &bounds);
-+       if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
-+           return;
-+       pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
-+                                        bounds.x2 - bounds.x1,
-+                                        bounds.y2 - bounds.y1);
-+       if (!pPicture)
-+           return;
-+       for (; ntrap; ntrap--, traps++)
-+           (*ps->RasterizeTrapezoid) (pPicture, traps, 
-+                                      -bounds.x1, -bounds.y1);
-+       xRel = bounds.x1 + xSrc - xDst;
-+       yRel = bounds.y1 + ySrc - yDst;
-+       CompositePicture (op, pSrc, pPicture, pDst,
-+                         xRel, yRel, 0, 0, bounds.x1, bounds.y1,
-+                         bounds.x2 - bounds.x1,
-+                         bounds.y2 - bounds.y1);
-+       FreePicture (pPicture, 0);
-+    }
-+    else
-+    {
-+       if (pDst->polyEdge == PolyEdgeSharp)
-+           maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+       else
-+           maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+       for (; ntrap; ntrap--, traps++)
-+           miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
-+    }
-+}
-diff --git a/render/mitri.c b/render/mitri.c
-index 922f22a..bdca9ca 100644
---- a/render/mitri.c
-+++ b/render/mitri.c
-@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
- {
-     miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
- }
-+
-+
-+void
-+miTriangles (CARD8	    op,
-+	     PicturePtr	    pSrc,
-+	     PicturePtr	    pDst,
-+	     PictFormatPtr  maskFormat,
-+	     INT16	    xSrc,
-+	     INT16	    ySrc,
-+	     int	    ntri,
-+	     xTriangle	    *tris)
-+{
-+    ScreenPtr		pScreen = pDst->pDrawable->pScreen;
-+    PictureScreenPtr    ps = GetPictureScreen(pScreen);
-+    
-+    /*
-+     * Check for solid alpha add
-+     */
-+    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
-+    {
-+	(*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
-+    }
-+    else if (maskFormat)
-+    {
-+	BoxRec		bounds;
-+	PicturePtr	pPicture;
-+	INT16		xDst, yDst;
-+	INT16		xRel, yRel;
-+	
-+	xDst = tris[0].p1.x >> 16;
-+	yDst = tris[0].p1.y >> 16;
-+
-+	miTriangleBounds (ntri, tris, &bounds);
-+	if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
-+	    return;
-+	pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
-+					 bounds.x2 - bounds.x1,
-+					 bounds.y2 - bounds.y1);
-+	if (!pPicture)
-+	    return;
-+	(*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
-+	
-+	xRel = bounds.x1 + xSrc - xDst;
-+	yRel = bounds.y1 + ySrc - yDst;
-+	CompositePicture (op, pSrc, pPicture, pDst,
-+			  xRel, yRel, 0, 0, bounds.x1, bounds.y1,
-+			  bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
-+	FreePicture (pPicture, 0);
-+    }
-+    else
-+    {
-+	if (pDst->polyEdge == PolyEdgeSharp)
-+	    maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
-+	else
-+	    maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
-+	
-+	for (; ntri; ntri--, tris++)
-+	    miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
-+    }
-+}
-+
--- 
-2.6.3
-

Added: trunk/dports/x11/xorg-server/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,158 @@
+From d6058fa4f68b68dff95c5ce826f9b9b498df3951 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 5002/5005] Workaround the GC clipping problem in miPaintWindow
+ and add some debugging output.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+---
+ mi/miexpose.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 90 insertions(+), 9 deletions(-)
+
+diff --git a/mi/miexpose.c b/mi/miexpose.c
+index f4c6e89..fe3bcb1 100644
+--- a/mi/miexpose.c
++++ b/mi/miexpose.c
+@@ -408,7 +408,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+ void RootlessStartDrawing(WindowPtr pWin);
+ void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
+ Bool IsFramedWindow(WindowPtr pWin);
+-#endif
++#include "../fb/fb.h"
++#endif 
+ 
+ void
+ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -437,20 +438,32 @@ 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
++
++    if (what == PW_BACKGROUND)
++    {
+ #ifdef ROOTLESS
+-    if (IsFramedWindow(pWin)) {
+-        RootlessStartDrawing(pWin);
+-        RootlessDamageRegion(pWin, prgn);
++        if(IsFramedWindow(pWin)) {
++            RootlessStartDrawing(pWin);
++            RootlessDamageRegion(pWin, prgn);
+ 
+-        if (pWin->backgroundState == ParentRelative) {
+-            if ((what == PW_BACKGROUND) ||
+-                (what == PW_BORDER && !pWin->borderIsPixel))
++            if(pWin->backgroundState == ParentRelative) {
+                 RootlessSetPixmapOfAncestors(pWin);
++            }
+         }
+-    }
+ #endif
+ 
+-    if (what == PW_BACKGROUND) {
+         while (pWin->backgroundState == ParentRelative)
+             pWin = pWin->parent;
+ 
+@@ -475,6 +488,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     else {
+         PixmapPtr pixmap;
+ 
++#ifdef ROOTLESS
++	if(IsFramedWindow(pWin)) {
++	    RootlessStartDrawing(pWin);
++	    RootlessDamageRegion(pWin, prgn);
++	    
++	    if(!pWin->borderIsPixel &&
++		pWin->backgroundState == ParentRelative) {
++		RootlessSetPixmapOfAncestors(pWin);
++	    }
++	}
++#endif
++
+         fill = pWin->border;
+         solid = pWin->borderIsPixel;
+ 
+@@ -484,6 +509,11 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+         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
++	
+         while (pWin->backgroundState == ParentRelative)
+             pWin = pWin->parent;
+ 
+@@ -550,6 +580,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     ChangeGC(NullClient, pGC, gcmask, 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 = RegionNumRects(prgn);
+     pbox = RegionRects(prgn);
+     for (i = numRects; --i >= 0; pbox++, prect++) {
+-- 
+2.8.1
+

Added: trunk/dports/x11/xorg-server/files/5003-Use-old-miTrapezoids-and-miTriangles-routines.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5003-Use-old-miTrapezoids-and-miTriangles-routines.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/5003-Use-old-miTrapezoids-and-miTriangles-routines.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,289 @@
+From 2850855f560451bb64dd5af3f005c6988961336e Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sat, 2 Nov 2013 11:00:23 -0700
+Subject: [PATCH 5003/5005] Use old miTrapezoids and miTriangles routines
+
+Reverts commits:
+    788ccb9a8bcf6a4fb4054c507111eec3338fb969
+    566f1931ee2916269e164e114bffaf2da1d039d1
+
+http://xquartz.macosforge.org/trac/ticket/525
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ fb/fbpict.c     |   2 -
+ render/mipict.c |   4 +-
+ render/mipict.h |  27 ++++++++++++++
+ render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ render/mitri.c  |  61 +++++++++++++++++++++++++++++++
+ 5 files changed, 201 insertions(+), 4 deletions(-)
+
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 7ea0b66..434d890 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -508,10 +508,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->UnrealizeGlyph = fbUnrealizeGlyph;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+-    ps->Trapezoids = fbTrapezoids;
+     ps->AddTraps = fbAddTraps;
+     ps->AddTriangles = fbAddTriangles;
+-    ps->Triangles = fbTriangles;
+ 
+     return TRUE;
+ }
+diff --git a/render/mipict.c b/render/mipict.c
+index 4b85512..a39eb2c 100644
+--- a/render/mipict.c
++++ b/render/mipict.c
+@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->Composite = 0;          /* requires DDX support */
+     ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+-    ps->Trapezoids = 0;
+-    ps->Triangles = 0;
++    ps->Trapezoids = miTrapezoids;
++    ps->Triangles = miTriangles;
+ 
+     ps->RasterizeTrapezoid = 0; /* requires DDX support */
+     ps->AddTraps = 0;           /* requires DDX support */
+diff --git a/render/mipict.h b/render/mipict.h
+index 3241be4..8ee7a8a 100644
+--- a/render/mipict.h
++++ b/render/mipict.h
+@@ -102,9 +102,36 @@ miCompositeRects(CARD8 op,
+                  xRenderColor * color, int nRect, xRectangle *rects);
+ 
+ extern _X_EXPORT void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris);
++
++extern _X_EXPORT PicturePtr
++miCreateAlphaPicture (ScreenPtr            pScreen, 
++                     PicturePtr    pDst,
++                     PictFormatPtr pPictFormat,
++                     CARD16        width,
++                     CARD16        height);
++
++extern _X_EXPORT void
+  miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
+ 
+ extern _X_EXPORT void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps);
++
++extern _X_EXPORT void
+  miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
+ 
+ extern _X_EXPORT void
+diff --git a/render/mitrap.c b/render/mitrap.c
+index 17b6dcd..71c1857 100644
+--- a/render/mitrap.c
++++ b/render/mitrap.c
+@@ -34,6 +34,55 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+ 
++PicturePtr
++miCreateAlphaPicture (ScreenPtr	    pScreen, 
++		      PicturePtr    pDst,
++		      PictFormatPtr pPictFormat,
++		      CARD16	    width,
++		      CARD16	    height)
++{
++    PixmapPtr	    pPixmap;
++    PicturePtr	    pPicture;
++    GCPtr	    pGC;
++    int		    error;
++    xRectangle	    rect;
++
++    if (width > 32767 || height > 32767)
++	return 0;
++
++    if (!pPictFormat)
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	if (!pPictFormat)
++	    return 0;
++    }
++
++    pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 
++					pPictFormat->depth, 0);
++    if (!pPixmap)
++	return 0;
++    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
++    if (!pGC)
++    {
++	(*pScreen->DestroyPixmap) (pPixmap);
++	return 0;
++    }
++    ValidateGC (&pPixmap->drawable, pGC);
++    rect.x = 0;
++    rect.y = 0;
++    rect.width = width;
++    rect.height = height;
++    (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
++    FreeScratchGC (pGC);
++    pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
++			      0, 0, serverClient, &error);
++    (*pScreen->DestroyPixmap) (pPixmap);
++    return pPicture;
++}
++
+ static xFixed
+ miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
+ {
+@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
+             box->x2 = x2;
+     }
+ }
++
++
++void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps)
++{
++    ScreenPtr          pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
++    } 
++    else if (maskFormat)
++    {
++       PicturePtr      pPicture;
++       BoxRec          bounds;
++       INT16           xDst, yDst;
++       INT16           xRel, yRel;
++       
++       xDst = traps[0].left.p1.x >> 16;
++       yDst = traps[0].left.p1.y >> 16;
++
++       miTrapezoidBounds (ntrap, traps, &bounds);
++       if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
++           return;
++       pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++                                        bounds.x2 - bounds.x1,
++                                        bounds.y2 - bounds.y1);
++       if (!pPicture)
++           return;
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pPicture, traps, 
++                                      -bounds.x1, -bounds.y1);
++       xRel = bounds.x1 + xSrc - xDst;
++       yRel = bounds.y1 + ySrc - yDst;
++       CompositePicture (op, pSrc, pPicture, pDst,
++                         xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++                         bounds.x2 - bounds.x1,
++                         bounds.y2 - bounds.y1);
++       FreePicture (pPicture, 0);
++    }
++    else
++    {
++       if (pDst->polyEdge == PolyEdgeSharp)
++           maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++       else
++           maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++       for (; ntrap; ntrap--, traps++)
++           miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
++    }
++}
+diff --git a/render/mitri.c b/render/mitri.c
+index 922f22a..bdca9ca 100644
+--- a/render/mitri.c
++++ b/render/mitri.c
+@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
+ {
+     miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
+ }
++
++
++void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris)
++{
++    ScreenPtr		pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++    
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++	(*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
++    }
++    else if (maskFormat)
++    {
++	BoxRec		bounds;
++	PicturePtr	pPicture;
++	INT16		xDst, yDst;
++	INT16		xRel, yRel;
++	
++	xDst = tris[0].p1.x >> 16;
++	yDst = tris[0].p1.y >> 16;
++
++	miTriangleBounds (ntri, tris, &bounds);
++	if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
++	    return;
++	pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++					 bounds.x2 - bounds.x1,
++					 bounds.y2 - bounds.y1);
++	if (!pPicture)
++	    return;
++	(*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
++	
++	xRel = bounds.x1 + xSrc - xDst;
++	yRel = bounds.y1 + ySrc - yDst;
++	CompositePicture (op, pSrc, pPicture, pDst,
++			  xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++			  bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
++	FreePicture (pPicture, 0);
++    }
++    else
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	
++	for (; ntri; ntri--, tris++)
++	    miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
++    }
++}
++
+-- 
+2.8.1
+

Deleted: trunk/dports/x11/xorg-server/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -1,320 +0,0 @@
-From bdcae84eefc467fa96a8feb033bf74c4e00e50df Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Fri, 12 Feb 2010 19:48:52 -0800
-Subject: [PATCH 5003/5004] 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: Adjust transform or composite coordinates for pixman operations"
-
-http://bugs.freedesktop.org/26124
-
-This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
-This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
----
- fb/fb.h     |  3 +--
- fb/fbpict.c | 82 ++++++++++++++++++-------------------------------------------
- fb/fbtrap.c | 43 ++++++++++++++------------------
- 3 files changed, 43 insertions(+), 85 deletions(-)
-
-diff --git a/fb/fb.h b/fb/fb.h
-index c687aa7..256a1ee 100644
---- a/fb/fb.h
-+++ b/fb/fb.h
-@@ -1321,8 +1321,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
-                   RegionPtr pRegion, FbBits and, FbBits xor);
- 
- extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
--                                                 Bool has_clip,
--                                                 int *xoff, int *yoff);
-+                                                 Bool has_clip);
- 
- extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
- 
-diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 936a11b..a99cee6 100644
---- a/fb/fbpict.c
-+++ b/fb/fbpict.c
-@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
-             INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, 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);
-     if (pMask)
-         miCompositeSourceValidate(pMask);
- 
--    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
--    mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);
--    dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
-+    src = image_from_pict(pSrc, TRUE);
-+    mask = image_from_pict(pMask, TRUE);
-+    dest = image_from_pict(pDst, TRUE);
- 
-     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, width, height);
-+                               xSrc, ySrc, xMask, yMask, xDst, yDst,
-+                               width, height);
-     }
- 
-     free_pixman_pict(pSrc, src);
-@@ -289,20 +284,22 @@ create_conical_gradient_image(PictGradient * gradient)
- }
- 
- static pixman_image_t *
--create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-+create_bits_picture(PicturePtr pict, 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((pixman_format_code_t) pict->format,
--                                     pixmap->drawable.width,
--                                     pixmap->drawable.height, (uint32_t *) bits,
-+                                     pict->pDrawable->width,
-+                                     pict->pDrawable->height, (uint32_t *) bits,
-                                      stride * sizeof(FbStride));
- 
-     if (!image)
-@@ -321,28 +318,21 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-         if (pict->clientClip)
-             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 pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip,
--                                                int *xoff, int *yoff,
-                                                 Bool is_alpha_map);
- 
- static void image_destroy(pixman_image_t *image, void *data)
-@@ -351,32 +341,13 @@ static void image_destroy(pixman_image_t *image, void *data)
- }
- 
- static void
--set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
--                     int *xoff, int *yoff, Bool is_alpha_map)
-+set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map)
- {
-     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, pict->transform);
-     }
- 
-     switch (pict->repeatType) {
-@@ -404,10 +375,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
-      * as the alpha map for this operation
-      */
-     if (pict->alphaMap && !is_alpha_map) {
--        int alpha_xoff, alpha_yoff;
-         pixman_image_t *alpha_map =
--            image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff,
--                                     &alpha_yoff, TRUE);
-+            image_from_pict_internal(pict->alphaMap, TRUE, TRUE);
- 
-         pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
-                                    pict->alphaOrigin.y);
-@@ -445,8 +414,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
- }
- 
- static pixman_image_t *
--image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
--                         Bool is_alpha_map)
-+image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map)
- {
-     pixman_image_t *image = NULL;
- 
-@@ -454,7 +422,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
-         return NULL;
- 
-     if (pict->pDrawable) {
--        image = create_bits_picture(pict, has_clip, xoff, yoff);
-+        image = create_bits_picture(pict, has_clip);
-     }
-     else if (pict->pSourcePict) {
-         SourcePict *sp = pict->pSourcePict;
-@@ -472,19 +440,17 @@ image_from_pict_internal(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, is_alpha_map);
--
-+        set_image_properties (image, pict, is_alpha_map);
-     return image;
- }
- 
- pixman_image_t *
--image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-+image_from_pict (PicturePtr pict, Bool has_clip)
- {
--    return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE);
-+    return image_from_pict_internal (pict, has_clip, FALSE);
- }
- 
- void
-diff --git a/fb/fbtrap.c b/fb/fbtrap.c
-index bf82f8f..0145ce9 100644
---- a/fb/fbtrap.c
-+++ b/fb/fbtrap.c
-@@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture,
-            INT16 x_off, INT16 y_off, int ntrap, xTrap * traps)
- {
-     pixman_image_t *image;
--    int dst_xoff, dst_yoff;
- 
--    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
--        return;
--
--    pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff,
--                     ntrap, (pixman_trap_t *) traps);
-+    if (!(image = image_from_pict (pPicture, FALSE)))
-+	return;
-+    
-+    pixman_add_traps(image, x_off, y_off,
-+                     ntrap, (pixman_trap_t *)traps);
- 
-     free_pixman_pict(pPicture, image);
- }
-@@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture,
-                      xTrapezoid * trap, int x_off, int y_off)
- {
-     pixman_image_t *image;
--    int dst_xoff, dst_yoff;
- 
--    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+    if (!(image = image_from_pict (pPicture, FALSE)))
-         return;
- 
--    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap,
--                               x_off + dst_xoff, y_off + dst_yoff);
-+    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap,
-+                               x_off, y_off);
- 
-     free_pixman_pict(pPicture, image);
- }
-@@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture,
-                INT16 x_off, INT16 y_off, int ntri, xTriangle * tris)
- {
-     pixman_image_t *image;
--    int dst_xoff, dst_yoff;
- 
--    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+    if (!(image = image_from_pict (pPicture, FALSE)))
-         return;
--
--    pixman_add_triangles(image,
--                         dst_xoff + x_off, dst_yoff + y_off,
--                         ntri, (pixman_triangle_t *) tris);
-+    
-+    pixman_add_triangles(image, x_off, y_off, ntri,
-+                         (pixman_triangle_t *)tris);
- 
-     free_pixman_pict(pPicture, image);
- }
-@@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite,
-          int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes)
- {
-     pixman_image_t *src, *dst;
--    int src_xoff, src_yoff;
--    int dst_xoff, dst_yoff;
- 
-     miCompositeSourceValidate(pSrc);
- 
--    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
--    dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
-+    src = image_from_pict(pSrc, FALSE);
-+    dst = image_from_pict(pDst, TRUE);
- 
-     if (src && dst) {
-         pixman_format_code_t format;
-@@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite,
- 
-             for (i = 0; i < nshapes; ++i) {
-                 composite(op, src, dst, format,
--                          xSrc + src_xoff,
--                          ySrc + src_yoff,
--                          dst_xoff, dst_yoff, 1, shapes + i * shape_size);
-+                          xSrc, ySrc, 0, 0, 
-+                          1, shapes + i * shape_size);
-             }
-         }
-         else {
-@@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite,
-             }
- 
-             composite(op, src, dst, format,
--                      xSrc + src_xoff,
--                      ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes);
-+                      xSrc, ySrc, 0, 0,
-+                      nshapes, shapes);
-         }
- 
-         DamageRegionProcessPending(pDst->pDrawable);
--- 
-2.6.3
-

Modified: trunk/dports/x11/xorg-server/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch	2016-05-04 19:54:31 UTC (rev 148337)
+++ trunk/dports/x11/xorg-server/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -1,243 +1,320 @@
-From e1b7d7d104a545eea0443c8404cb2407977ea1bc Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
-Date: Sat, 31 May 2014 13:14:20 -0700
-Subject: [PATCH 5004/5004] fb: Revert fb changes that broke XQuartz
+From 055a7bb8f22eb94a35cae6224d109daa435d288d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Fri, 12 Feb 2010 19:48:52 -0800
+Subject: [PATCH 5004/5005] fb: Revert fb changes that broke XQuartz
 
-    http://bugs.freedesktop.org/show_bug.cgi?id=26124
+http://bugs.freedesktop.org/show_bug.cgi?id=26124
 
-Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
-Revert "fb: Fix origin of source picture in fbGlyphs"
-Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
+Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
+Revert "fb: Adjust transform or composite coordinates for pixman operations"
 
-This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
-This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
-This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
+http://bugs.freedesktop.org/26124
+
+This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
+This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
 ---
- fb/fb.h       |   3 --
- fb/fbpict.c   | 149 +---------------------------------------------------------
- fb/fbpict.h   |  11 +----
- fb/fbscreen.c |   1 -
- 4 files changed, 2 insertions(+), 162 deletions(-)
+ fb/fb.h     |  3 +--
+ fb/fbpict.c | 82 ++++++++++++++++++-------------------------------------------
+ fb/fbtrap.c | 43 ++++++++++++++------------------
+ 3 files changed, 43 insertions(+), 85 deletions(-)
 
 diff --git a/fb/fb.h b/fb/fb.h
-index 256a1ee..8e87498 100644
+index c687aa7..256a1ee 100644
 --- a/fb/fb.h
 +++ b/fb/fb.h
-@@ -1111,9 +1111,6 @@ extern _X_EXPORT void
- extern _X_EXPORT Bool
-  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
+@@ -1321,8 +1321,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
+                   RegionPtr pRegion, FbBits and, FbBits xor);
  
--extern _X_EXPORT void
--fbDestroyGlyphCache(void);
--
- /*
-  * fbpixmap.c
-  */
+ extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
+-                                                 Bool has_clip,
+-                                                 int *xoff, int *yoff);
++                                                 Bool has_clip);
+ 
+ extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
+ 
 diff --git a/fb/fbpict.c b/fb/fbpict.c
-index a99cee6..66dd633 100644
+index 434d890..be8274b 100644
 --- a/fb/fbpict.c
 +++ b/fb/fbpict.c
-@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
-     free_pixman_pict(pDst, dest);
+@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
+             INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, 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);
+     if (pMask)
+         miCompositeSourceValidate(pMask);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);
+-    dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, TRUE);
++    mask = image_from_pict(pMask, TRUE);
++    dest = image_from_pict(pDst, TRUE);
+ 
+     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, width, height);
++                               xSrc, ySrc, xMask, yMask, xDst, yDst,
++                               width, height);
+     }
+ 
+     free_pixman_pict(pSrc, src);
+@@ -289,20 +284,22 @@ create_conical_gradient_image(PictGradient * gradient)
  }
  
--static pixman_glyph_cache_t *glyphCache;
+ static pixman_image_t *
+-create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++create_bits_picture(PicturePtr pict, 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((pixman_format_code_t) pict->format,
+-                                     pixmap->drawable.width,
+-                                     pixmap->drawable.height, (uint32_t *) bits,
++                                     pict->pDrawable->width,
++                                     pict->pDrawable->height, (uint32_t *) bits,
+                                      stride * sizeof(FbStride));
+ 
+     if (!image)
+@@ -321,28 +318,21 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+         if (pict->clientClip)
+             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;
 -
--void
--fbDestroyGlyphCache(void)
--{
--    if (glyphCache)
--    {
--	pixman_glyph_cache_destroy (glyphCache);
--	glyphCache = NULL;
--    }
--}
+     return image;
+ }
+ 
+ static pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip,
+-                                                int *xoff, int *yoff,
+                                                 Bool is_alpha_map);
+ 
+ static void image_destroy(pixman_image_t *image, void *data)
+@@ -351,32 +341,13 @@ static void image_destroy(pixman_image_t *image, void *data)
+ }
+ 
+ static void
+-set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+-                     int *xoff, int *yoff, Bool is_alpha_map)
++set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map)
+ {
+     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;
 -
--static void
--fbUnrealizeGlyph(ScreenPtr pScreen,
--		 GlyphPtr pGlyph)
--{
--    if (glyphCache)
--	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
--}
+-            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, pict->transform);
+     }
+ 
+     switch (pict->repeatType) {
+@@ -404,10 +375,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+      * as the alpha map for this operation
+      */
+     if (pict->alphaMap && !is_alpha_map) {
+-        int alpha_xoff, alpha_yoff;
+         pixman_image_t *alpha_map =
+-            image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff,
+-                                     &alpha_yoff, TRUE);
++            image_from_pict_internal(pict->alphaMap, TRUE, TRUE);
+ 
+         pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
+                                    pict->alphaOrigin.y);
+@@ -445,8 +414,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+ }
+ 
+ static pixman_image_t *
+-image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+-                         Bool is_alpha_map)
++image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map)
+ {
+     pixman_image_t *image = NULL;
+ 
+@@ -454,7 +422,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+         return NULL;
+ 
+     if (pict->pDrawable) {
+-        image = create_bits_picture(pict, has_clip, xoff, yoff);
++        image = create_bits_picture(pict, has_clip);
+     }
+     else if (pict->pSourcePict) {
+         SourcePict *sp = pict->pSourcePict;
+@@ -472,19 +440,17 @@ image_from_pict_internal(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, is_alpha_map);
 -
--void
--fbGlyphs(CARD8 op,
--	 PicturePtr pSrc,
--	 PicturePtr pDst,
--	 PictFormatPtr maskFormat,
--	 INT16 xSrc,
--	 INT16 ySrc, int nlist,
--	 GlyphListPtr list,
--	 GlyphPtr *glyphs)
--{
--#define N_STACK_GLYPHS 512
--    ScreenPtr pScreen = pDst->pDrawable->pScreen;
--    pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
--    pixman_glyph_t *pglyphs = stack_glyphs;
--    pixman_image_t *srcImage, *dstImage;
--    int srcXoff, srcYoff, dstXoff, dstYoff;
--    GlyphPtr glyph;
--    int n_glyphs;
--    int x, y;
--    int i, n;
--    int xDst = list->xOff, yDst = list->yOff;
++        set_image_properties (image, pict, is_alpha_map);
+     return image;
+ }
+ 
+ pixman_image_t *
+-image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++image_from_pict (PicturePtr pict, Bool has_clip)
+ {
+-    return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE);
++    return image_from_pict_internal (pict, has_clip, FALSE);
+ }
+ 
+ void
+diff --git a/fb/fbtrap.c b/fb/fbtrap.c
+index bf82f8f..0145ce9 100644
+--- a/fb/fbtrap.c
++++ b/fb/fbtrap.c
+@@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture,
+            INT16 x_off, INT16 y_off, int ntrap, xTrap * traps)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
+-        return;
 -
--    miCompositeSourceValidate(pSrc);
--
--    n_glyphs = 0;
--    for (i = 0; i < nlist; ++i)
--	n_glyphs += list[i].len;
--
--    if (!glyphCache)
--	glyphCache = pixman_glyph_cache_create();
--
--    pixman_glyph_cache_freeze (glyphCache);
--
--    if (n_glyphs > N_STACK_GLYPHS) {
--	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
--	    goto out;
--    }
--
--    i = 0;
--    x = y = 0;
--    while (nlist--) {
--        x += list->xOff;
--        y += list->yOff;
--        n = list->len;
--        while (n--) {
--	    const void *g;
--
--            glyph = *glyphs++;
--
--	    if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
--		pixman_image_t *glyphImage;
--		PicturePtr pPicture;
--		int xoff, yoff;
--
--		pPicture = GetGlyphPicture(glyph, pScreen);
--		if (!pPicture) {
--		    n_glyphs--;
--		    goto next;
--		}
--
--		if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
--		    goto out;
--
--		g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
--					      glyph->info.x,
--					      glyph->info.y,
--					      glyphImage);
--
--		free_pixman_pict(pPicture, glyphImage);
--
--		if (!g)
--		    goto out;
--	    }
--
--	    pglyphs[i].x = x;
--	    pglyphs[i].y = y;
--	    pglyphs[i].glyph = g;
--	    i++;
--
--	next:
--            x += glyph->info.xOff;
--            y += glyph->info.yOff;
--	}
--	list++;
--    }
--
--    if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
--	goto out;
--
--    if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
--	goto out_free_src;
--
--    if (maskFormat) {
--	pixman_format_code_t format;
--	pixman_box32_t extents;
--
--	format = maskFormat->format | (maskFormat->depth << 24);
--
--	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
--
--	pixman_composite_glyphs(op, srcImage, dstImage, format,
--				xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
--				extents.x1, extents.y1,
--				extents.x1 + dstXoff, extents.y1 + dstYoff,
--				extents.x2 - extents.x1,
--				extents.y2 - extents.y1,
--				glyphCache, n_glyphs, pglyphs);
--    }
--    else {
--	pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
--					xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
--					dstXoff, dstYoff,
--					glyphCache, n_glyphs, pglyphs);
--    }
--
--    free_pixman_pict(pDst, dstImage);
--
--out_free_src:
--    free_pixman_pict(pSrc, srcImage);
--
--out:
--    pixman_glyph_cache_thaw(glyphCache);
--    if (pglyphs != stack_glyphs)
--	free(pglyphs);
--}
--
- static pixman_image_t *
- create_solid_fill_image(PicturePtr pict)
+-    pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff,
+-                     ntrap, (pixman_trap_t *) traps);
++    if (!(image = image_from_pict (pPicture, FALSE)))
++	return;
++    
++    pixman_add_traps(image, x_off, y_off,
++                     ntrap, (pixman_trap_t *)traps);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture,
+                      xTrapezoid * trap, int x_off, int y_off)
  {
-@@ -470,8 +324,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-         return FALSE;
-     ps = GetPictureScreen(pScreen);
-     ps->Composite = fbComposite;
--    ps->Glyphs = fbGlyphs;
--    ps->UnrealizeGlyph = fbUnrealizeGlyph;
-+    ps->Glyphs = miGlyphs;
-     ps->CompositeRects = miCompositeRects;
-     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
-     ps->AddTraps = fbAddTraps;
-diff --git a/fb/fbpict.h b/fb/fbpict.h
-index 5cb8663..110f32d 100644
---- a/fb/fbpict.h
-+++ b/fb/fbpict.h
-@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
-              INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
  
- extern _X_EXPORT void
-+
- fbTriangles(CARD8 op,
-             PicturePtr pSrc,
-             PicturePtr pDst,
-             PictFormatPtr maskFormat,
-             INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
  
--extern _X_EXPORT void
--fbGlyphs(CARD8 op,
--	 PicturePtr pSrc,
--	 PicturePtr pDst,
--	 PictFormatPtr maskFormat,
--	 INT16 xSrc,
--	 INT16 ySrc, int nlist,
--	 GlyphListPtr list,
--	 GlyphPtr *glyphs);
+-    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap,
+-                               x_off + dst_xoff, y_off + dst_yoff);
++    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap,
++                               x_off, y_off);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture,
+                INT16 x_off, INT16 y_off, int ntri, xTriangle * tris)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
 -
- #endif                          /* _FBPICT_H_ */
-diff --git a/fb/fbscreen.c b/fb/fbscreen.c
-index 71bcc5d..55330fc 100644
---- a/fb/fbscreen.c
-+++ b/fb/fbscreen.c
-@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
-     int d;
-     DepthPtr depths = pScreen->allowedDepths;
+-    pixman_add_triangles(image,
+-                         dst_xoff + x_off, dst_yoff + y_off,
+-                         ntri, (pixman_triangle_t *) tris);
++    
++    pixman_add_triangles(image, x_off, y_off, ntri,
++                         (pixman_triangle_t *)tris);
  
--    fbDestroyGlyphCache();
-     for (d = 0; d < pScreen->numDepths; d++)
-         free(depths[d].vids);
-     free(depths);
+     free_pixman_pict(pPicture, image);
+ }
+@@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite,
+          int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes)
+ {
+     pixman_image_t *src, *dst;
+-    int src_xoff, src_yoff;
+-    int dst_xoff, dst_yoff;
+ 
+     miCompositeSourceValidate(pSrc);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, FALSE);
++    dst = image_from_pict(pDst, TRUE);
+ 
+     if (src && dst) {
+         pixman_format_code_t format;
+@@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite,
+ 
+             for (i = 0; i < nshapes; ++i) {
+                 composite(op, src, dst, format,
+-                          xSrc + src_xoff,
+-                          ySrc + src_yoff,
+-                          dst_xoff, dst_yoff, 1, shapes + i * shape_size);
++                          xSrc, ySrc, 0, 0, 
++                          1, shapes + i * shape_size);
+             }
+         }
+         else {
+@@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite,
+             }
+ 
+             composite(op, src, dst, format,
+-                      xSrc + src_xoff,
+-                      ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes);
++                      xSrc, ySrc, 0, 0,
++                      nshapes, shapes);
+         }
+ 
+         DamageRegionProcessPending(pDst->pDrawable);
 -- 
-2.6.3
+2.8.1
 

Added: trunk/dports/x11/xorg-server/files/5005-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/5005-fb-Revert-fb-changes-that-broke-XQuartz.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/5005-fb-Revert-fb-changes-that-broke-XQuartz.patch	2016-05-04 20:38:07 UTC (rev 148338)
@@ -0,0 +1,243 @@
+From 3475655620bc51071f0ba9cbc30b39587d9b0b44 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sat, 31 May 2014 13:14:20 -0700
+Subject: [PATCH 5005/5005] fb: Revert fb changes that broke XQuartz
+
+    http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
+Revert "fb: Fix origin of source picture in fbGlyphs"
+Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
+
+This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
+This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
+This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
+---
+ fb/fb.h       |   3 --
+ fb/fbpict.c   | 149 +---------------------------------------------------------
+ fb/fbpict.h   |  11 +----
+ fb/fbscreen.c |   1 -
+ 4 files changed, 2 insertions(+), 162 deletions(-)
+
+diff --git a/fb/fb.h b/fb/fb.h
+index 256a1ee..8e87498 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1111,9 +1111,6 @@ extern _X_EXPORT void
+ extern _X_EXPORT Bool
+  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
+ 
+-extern _X_EXPORT void
+-fbDestroyGlyphCache(void);
+-
+ /*
+  * fbpixmap.c
+  */
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index be8274b..66dd633 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
+     free_pixman_pict(pDst, dest);
+ }
+ 
+-static pixman_glyph_cache_t *glyphCache;
+-
+-void
+-fbDestroyGlyphCache(void)
+-{
+-    if (glyphCache)
+-    {
+-	pixman_glyph_cache_destroy (glyphCache);
+-	glyphCache = NULL;
+-    }
+-}
+-
+-static void
+-fbUnrealizeGlyph(ScreenPtr pScreen,
+-		 GlyphPtr pGlyph)
+-{
+-    if (glyphCache)
+-	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
+-}
+-
+-void
+-fbGlyphs(CARD8 op,
+-	 PicturePtr pSrc,
+-	 PicturePtr pDst,
+-	 PictFormatPtr maskFormat,
+-	 INT16 xSrc,
+-	 INT16 ySrc, int nlist,
+-	 GlyphListPtr list,
+-	 GlyphPtr *glyphs)
+-{
+-#define N_STACK_GLYPHS 512
+-    ScreenPtr pScreen = pDst->pDrawable->pScreen;
+-    pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
+-    pixman_glyph_t *pglyphs = stack_glyphs;
+-    pixman_image_t *srcImage, *dstImage;
+-    int srcXoff, srcYoff, dstXoff, dstYoff;
+-    GlyphPtr glyph;
+-    int n_glyphs;
+-    int x, y;
+-    int i, n;
+-    int xDst = list->xOff, yDst = list->yOff;
+-
+-    miCompositeSourceValidate(pSrc);
+-
+-    n_glyphs = 0;
+-    for (i = 0; i < nlist; ++i)
+-	n_glyphs += list[i].len;
+-
+-    if (!glyphCache)
+-	glyphCache = pixman_glyph_cache_create();
+-
+-    pixman_glyph_cache_freeze (glyphCache);
+-
+-    if (n_glyphs > N_STACK_GLYPHS) {
+-	if (!(pglyphs = xallocarray(n_glyphs, sizeof(pixman_glyph_t))))
+-	    goto out;
+-    }
+-
+-    i = 0;
+-    x = y = 0;
+-    while (nlist--) {
+-        x += list->xOff;
+-        y += list->yOff;
+-        n = list->len;
+-        while (n--) {
+-	    const void *g;
+-
+-            glyph = *glyphs++;
+-
+-	    if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
+-		pixman_image_t *glyphImage;
+-		PicturePtr pPicture;
+-		int xoff, yoff;
+-
+-		pPicture = GetGlyphPicture(glyph, pScreen);
+-		if (!pPicture) {
+-		    n_glyphs--;
+-		    goto next;
+-		}
+-
+-		if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
+-		    goto out;
+-
+-		g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
+-					      glyph->info.x,
+-					      glyph->info.y,
+-					      glyphImage);
+-
+-		free_pixman_pict(pPicture, glyphImage);
+-
+-		if (!g)
+-		    goto out;
+-	    }
+-
+-	    pglyphs[i].x = x;
+-	    pglyphs[i].y = y;
+-	    pglyphs[i].glyph = g;
+-	    i++;
+-
+-	next:
+-            x += glyph->info.xOff;
+-            y += glyph->info.yOff;
+-	}
+-	list++;
+-    }
+-
+-    if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
+-	goto out;
+-
+-    if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
+-	goto out_free_src;
+-
+-    if (maskFormat) {
+-	pixman_format_code_t format;
+-	pixman_box32_t extents;
+-
+-	format = maskFormat->format | (maskFormat->depth << 24);
+-
+-	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
+-
+-	pixman_composite_glyphs(op, srcImage, dstImage, format,
+-				xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
+-				extents.x1, extents.y1,
+-				extents.x1 + dstXoff, extents.y1 + dstYoff,
+-				extents.x2 - extents.x1,
+-				extents.y2 - extents.y1,
+-				glyphCache, n_glyphs, pglyphs);
+-    }
+-    else {
+-	pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
+-					xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
+-					dstXoff, dstYoff,
+-					glyphCache, n_glyphs, pglyphs);
+-    }
+-
+-    free_pixman_pict(pDst, dstImage);
+-
+-out_free_src:
+-    free_pixman_pict(pSrc, srcImage);
+-
+-out:
+-    pixman_glyph_cache_thaw(glyphCache);
+-    if (pglyphs != stack_glyphs)
+-	free(pglyphs);
+-}
+-
+ static pixman_image_t *
+ create_solid_fill_image(PicturePtr pict)
+ {
+@@ -470,8 +324,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+         return FALSE;
+     ps = GetPictureScreen(pScreen);
+     ps->Composite = fbComposite;
+-    ps->Glyphs = fbGlyphs;
+-    ps->UnrealizeGlyph = fbUnrealizeGlyph;
++    ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+     ps->AddTraps = fbAddTraps;
+diff --git a/fb/fbpict.h b/fb/fbpict.h
+index 5cb8663..110f32d 100644
+--- a/fb/fbpict.h
++++ b/fb/fbpict.h
+@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
+              INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
+ 
+ extern _X_EXPORT void
++
+ fbTriangles(CARD8 op,
+             PicturePtr pSrc,
+             PicturePtr pDst,
+             PictFormatPtr maskFormat,
+             INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
+ 
+-extern _X_EXPORT void
+-fbGlyphs(CARD8 op,
+-	 PicturePtr pSrc,
+-	 PicturePtr pDst,
+-	 PictFormatPtr maskFormat,
+-	 INT16 xSrc,
+-	 INT16 ySrc, int nlist,
+-	 GlyphListPtr list,
+-	 GlyphPtr *glyphs);
+-
+ #endif                          /* _FBPICT_H_ */
+diff --git a/fb/fbscreen.c b/fb/fbscreen.c
+index 71bcc5d..55330fc 100644
+--- a/fb/fbscreen.c
++++ b/fb/fbscreen.c
+@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
+     int d;
+     DepthPtr depths = pScreen->allowedDepths;
+ 
+-    fbDestroyGlyphCache();
+     for (d = 0; d < pScreen->numDepths; d++)
+         free(depths[d].vids);
+     free(depths);
+-- 
+2.8.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160504/57e0dc95/attachment-0001.html>


More information about the macports-changes mailing list