[141280] trunk/dports/x11/xorg-server-devel
jeremyhu at macports.org
jeremyhu at macports.org
Wed Oct 14 01:50:09 PDT 2015
Revision: 141280
https://trac.macports.org/changeset/141280
Author: jeremyhu at macports.org
Date: 2015-10-14 01:50:09 -0700 (Wed, 14 Oct 2015)
Log Message:
-----------
xorg-server-devel: Update to current 1.17 git
Modified Paths:
--------------
trunk/dports/x11/xorg-server-devel/Portfile
trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
Added Paths:
-----------
trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch
trunk/dports/x11/xorg-server-devel/files/0002-XQuartz-Silence-Wpointer-bool-conversion.patch
trunk/dports/x11/xorg-server-devel/files/0003-XQuartz-Silence-Wunused-variable.patch
trunk/dports/x11/xorg-server-devel/files/0004-XQuartz-Silence-Wunused-function.patch
trunk/dports/x11/xorg-server-devel/files/0005-XQuartz-Silence-Wformat-security-for-NSRunAlertPanel.patch
trunk/dports/x11/xorg-server-devel/files/0006-XQuartz-Relax-App-Transport-Security-for-communicati.patch
trunk/dports/x11/xorg-server-devel/files/0007-XQuartz-Remove-InfoPlist.strings.patch
trunk/dports/x11/xorg-server-devel/files/0008-XQuartz-Fix-how-we-calculate-the-height-of-the-OSX-m.patch
trunk/dports/x11/xorg-server-devel/files/5001-Use-old-miTrapezoids-and-miTriangles-routines.patch
trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
Removed Paths:
-------------
trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-Silence-Wpointer-bool-conversion.patch
trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
trunk/dports/x11/xorg-server-devel/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch
trunk/dports/x11/xorg-server-devel/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch
Modified: trunk/dports/x11/xorg-server-devel/Portfile
===================================================================
--- trunk/dports/x11/xorg-server-devel/Portfile 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/Portfile 2015-10-14 08:50:09 UTC (rev 141280)
@@ -5,7 +5,7 @@
name xorg-server-devel
conflicts xorg-server
set my_name xorg-server
-version 1.17.1
+version 1.17.2
categories x11 devel
license X11
maintainers jeremyhu openmaintainer
@@ -16,7 +16,8 @@
fetch.type git
git.url git://anongit.freedesktop.org/xorg/xserver
-git.branch xorg-server-1.17.1
+git.branch 061ff2621ccc8560d15fb804eff68a3e15c1b5d1
+#git.branch xorg-server-${version}
use_parallel_build yes
@@ -80,12 +81,18 @@
RAWCPP=${configure.cpp}
patchfiles \
- 0001-XQuartz-Silence-Wpointer-bool-conversion.patch \
+ 0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch \
+ 0002-XQuartz-Silence-Wpointer-bool-conversion.patch \
+ 0003-XQuartz-Silence-Wunused-variable.patch \
+ 0004-XQuartz-Silence-Wunused-function.patch \
+ 0005-XQuartz-Silence-Wformat-security-for-NSRunAlertPanel.patch \
+ 0006-XQuartz-Relax-App-Transport-Security-for-communicati.patch \
+ 0007-XQuartz-Remove-InfoPlist.strings.patch \
+ 0008-XQuartz-Fix-how-we-calculate-the-height-of-the-OSX-m.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-Use-old-miTrapezoids-and-miTriangles-routines.patch \
+ 5002-fb-Revert-fb-changes-that-broke-XQuartz.patch \
+ 5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
patch.pre_args -p1
Added: trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,78 @@
+From c15e48bb032514f1123f715719c25eaba7e043a7 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sun, 1 Jun 2014 04:29:19 -0700
+Subject: [PATCH 1/8] XQuartz: GLX: Use __glXEnableExtension to build
+ extensions list
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 3790001ea29658872aebda00a03170e392b47878)
+---
+ hw/xquartz/GL/indirect.c | 37 +++++++++++++++++++++++++++++++------
+ 1 file changed, 31 insertions(+), 6 deletions(-)
+
+diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
+index 19b7d86..4e6ab3d 100644
+--- a/hw/xquartz/GL/indirect.c
++++ b/hw/xquartz/GL/indirect.c
+@@ -52,6 +52,7 @@
+
+ #include "visualConfigs.h"
+ #include "dri.h"
++#include "extension_string.h"
+
+ #include "darwin.h"
+ #define GLAQUA_DEBUG_MSG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, "GLXAqua", \
+@@ -111,6 +112,10 @@ typedef struct __GLXAquaDrawable __GLXAquaDrawable;
+ */
+ struct __GLXAquaScreen {
+ __GLXscreen base;
++
++ /* Supported GLX extensions */
++ unsigned char glx_enable_bits[__GLX_EXT_BYTES];
++
+ int index;
+ int num_vis;
+ };
+@@ -541,13 +546,33 @@ __glXAquaScreenProbe(ScreenPtr pScreen)
+
+ screen->base.GLXmajor = 1;
+ screen->base.GLXminor = 4;
+- screen->base.GLXextensions = strdup("GLX_SGIX_fbconfig "
+- "GLX_SGIS_multisample "
+- "GLX_ARB_multisample "
+- "GLX_EXT_visual_info "
+- "GLX_EXT_import_context ");
+
+- /*We may be able to add more GLXextensions at a later time. */
++ memset(screen->glx_enable_bits, 0, __GLX_EXT_BYTES);
++
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_info");
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_rating");
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_import_context");
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_OML_swap_method");
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIX_fbconfig");
++
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIS_multisample");
++ __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_multisample");
++
++ //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context");
++ //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context_profile");
++
++ // Generate the GLX extensions string (overrides that set by __glXScreenInit())
++ {
++ unsigned int buffer_size =
++ __glXGetExtensionString(screen->glx_enable_bits, NULL);
++ if (buffer_size > 0) {
++ free(screen->base.GLXextensions);
++
++ screen->base.GLXextensions = xnfalloc(buffer_size);
++ __glXGetExtensionString(screen->glx_enable_bits,
++ screen->base.GLXextensions);
++ }
++ }
+
+ return &screen->base;
+ }
+--
+2.6.1
+
Deleted: trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-Silence-Wpointer-bool-conversion.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-Silence-Wpointer-bool-conversion.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/0001-XQuartz-Silence-Wpointer-bool-conversion.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,53 +0,0 @@
-From 21b171f8bbc9bdd5c54372c47e361bb5f11ba73c Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
-Date: Tue, 9 Jun 2015 23:29:40 -0700
-Subject: [PATCH 1/4] XQuartz: Silence -Wpointer-bool-conversion
-
-X11Controller.m:417:17: error: address of function 'asl_log_descriptor' will always evaluate to 'true'
- [-Werror,-Wpointer-bool-conversion,Value Conversion Issue]
- if (asl_log_descriptor) {
- ~~ ^~~~~~~~~~~~~~~~~~
-X11Controller.m:417:17: note: prefix with the address-of operator to silence this warning [Semantic Issue]
- if (asl_log_descriptor) {
- ^
- &
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
----
- hw/xquartz/X11Controller.m | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
-index 022e832..c3c6976 100644
---- a/hw/xquartz/X11Controller.m
-+++ b/hw/xquartz/X11Controller.m
-@@ -364,7 +364,7 @@ extern char *bundle_id_prefix;
- }
-
- #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
-- if (asl_log_descriptor) {
-+ if (&asl_log_descriptor) {
- char *asl_sender;
- aslmsg amsg = asl_new(ASL_TYPE_MSG);
- assert(amsg);
-@@ -414,7 +414,7 @@ extern char *bundle_id_prefix;
-
- case 0: /* child2 */
- #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
-- if (asl_log_descriptor) {
-+ if (&asl_log_descriptor) {
- /* Replace our stdout/stderr */
- dup2(stdout_pipe[1], STDOUT_FILENO);
- dup2(stderr_pipe[1], STDERR_FILENO);
-@@ -443,7 +443,7 @@ extern char *bundle_id_prefix;
- }
-
- #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
-- if (asl_log_descriptor) {
-+ if (&asl_log_descriptor) {
- /* Close the write ends of the pipe */
- close(stdout_pipe[1]);
- close(stderr_pipe[1]);
---
-2.4.2
-
Added: trunk/dports/x11/xorg-server-devel/files/0002-XQuartz-Silence-Wpointer-bool-conversion.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0002-XQuartz-Silence-Wpointer-bool-conversion.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0002-XQuartz-Silence-Wpointer-bool-conversion.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,54 @@
+From 414fc605a930c5baa7e65cc303b05f3977b86baf Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 9 Jun 2015 23:29:40 -0700
+Subject: [PATCH 2/8] XQuartz: Silence -Wpointer-bool-conversion
+
+X11Controller.m:417:17: error: address of function 'asl_log_descriptor' will always evaluate to 'true'
+ [-Werror,-Wpointer-bool-conversion,Value Conversion Issue]
+ if (asl_log_descriptor) {
+ ~~ ^~~~~~~~~~~~~~~~~~
+X11Controller.m:417:17: note: prefix with the address-of operator to silence this warning [Semantic Issue]
+ if (asl_log_descriptor) {
+ ^
+ &
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 0b9c32489131a5723bd78decf5d2557b94207cf4)
+---
+ hw/xquartz/X11Controller.m | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 022e832..c3c6976 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -364,7 +364,7 @@ extern char *bundle_id_prefix;
+ }
+
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+- if (asl_log_descriptor) {
++ if (&asl_log_descriptor) {
+ char *asl_sender;
+ aslmsg amsg = asl_new(ASL_TYPE_MSG);
+ assert(amsg);
+@@ -414,7 +414,7 @@ extern char *bundle_id_prefix;
+
+ case 0: /* child2 */
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+- if (asl_log_descriptor) {
++ if (&asl_log_descriptor) {
+ /* Replace our stdout/stderr */
+ dup2(stdout_pipe[1], STDOUT_FILENO);
+ dup2(stderr_pipe[1], STDERR_FILENO);
+@@ -443,7 +443,7 @@ extern char *bundle_id_prefix;
+ }
+
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+- if (asl_log_descriptor) {
++ if (&asl_log_descriptor) {
+ /* Close the write ends of the pipe */
+ close(stdout_pipe[1]);
+ close(stderr_pipe[1]);
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0003-XQuartz-Silence-Wunused-variable.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0003-XQuartz-Silence-Wunused-variable.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0003-XQuartz-Silence-Wunused-variable.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,30 @@
+From 601e9b5f8c147ef4242b4bda76e9a16e3d635370 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 9 Jun 2015 23:30:50 -0700
+Subject: [PATCH 3/8] XQuartz: Silence -Wunused-variable
+
+X11Controller.m:939:9: warning: unused variable 'remain' [-Wunused-variable,Unused Entity Issue]
+ int remain;
+ ^
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 9fe7f5ccada37e2d2a2fa92064b92a0334a3fcdd)
+---
+ hw/xquartz/X11Controller.m | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index c3c6976..a5c5138 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -936,7 +936,6 @@ extern char *bundle_id_prefix;
+
+ - (void) applicationWillTerminate:(NSNotification *)aNotification _X_NORETURN
+ {
+- int remain;
+ [X11App prefs_synchronize];
+
+ /* shutdown the X server, it will exit () for us. */
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0004-XQuartz-Silence-Wunused-function.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0004-XQuartz-Silence-Wunused-function.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0004-XQuartz-Silence-Wunused-function.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,39 @@
+From 434890171d5ab4ec61a05596cb33e469a61a870c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 9 Jun 2015 23:34:50 -0700
+Subject: [PATCH 4/8] XQuartz: Silence -Wunused-function
+
+quartzKeyboard.c:741:1: warning: unused function 'macroman2ucs' [-Wunused-function,Unused Entity Issue]
+macroman2ucs(unsigned char c)
+^
+1 warning generated.
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 3a6fa115759c787ec34483437021ad1e55c52423)
+---
+ hw/xquartz/quartzKeyboard.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
+index 84e34d9..2fed593 100644
+--- a/hw/xquartz/quartzKeyboard.c
++++ b/hw/xquartz/quartzKeyboard.c
+@@ -737,6 +737,7 @@ LegalModifier(unsigned int key, DeviceIntPtr pDev)
+ return 1;
+ }
+
++#if !defined(__LP64__) || MAC_OS_X_VERSION_MIN_REQUIRED < 1050
+ static inline UniChar
+ macroman2ucs(unsigned char c)
+ {
+@@ -782,6 +783,7 @@ macroman2ucs(unsigned char c)
+ if (c < 128) return c;
+ else return table[c - 128];
+ }
++#endif
+
+ static KeySym
+ make_dead_key(KeySym in)
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0005-XQuartz-Silence-Wformat-security-for-NSRunAlertPanel.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0005-XQuartz-Silence-Wformat-security-for-NSRunAlertPanel.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0005-XQuartz-Silence-Wformat-security-for-NSRunAlertPanel.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,77 @@
+From ba00d8fe70cbb16e45e578437defaf3eed6d25f4 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Tue, 9 Jun 2015 23:41:12 -0700
+Subject: [PATCH 5/8] XQuartz: Silence -Wformat-security for NSRunAlertPanel
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 9003a3e5c55903ce4e371b2d5cb5030b5f97ae0e)
+---
+ hw/xquartz/X11Application.m | 15 +++++++--------
+ hw/xquartz/X11Controller.m | 6 +++---
+ 2 files changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
+index 2efbd65..8a928ba 100644
+--- a/hw/xquartz/X11Application.m
++++ b/hw/xquartz/X11Application.m
+@@ -1069,12 +1069,12 @@ X11ApplicationCanEnterRandR(void)
+ if (!XQuartzIsRootless)
+ QuartzShowFullscreen(FALSE);
+
+- switch (NSRunAlertPanel(title, msg,
++ switch (NSRunAlertPanel(title, @"%@",
+ NSLocalizedString(@"Allow",
+ @""),
+ NSLocalizedString(@"Cancel",
+ @""),
+- NSLocalizedString(@"Always Allow", @""))) {
++ NSLocalizedString(@"Always Allow", @""), msg)) {
+ case NSAlertOtherReturn:
+ [X11App prefs_set_boolean:@PREFS_NO_RANDR_ALERT value:YES];
+ [X11App prefs_synchronize];
+@@ -1122,10 +1122,10 @@ X11ApplicationFatalError(const char *f, va_list args)
+ */
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ if (NSAlertDefaultReturn ==
+- NSRunAlertPanel (title, msg,
++ NSRunAlertPanel (title, @"%@",
+ NSLocalizedString (@"Quit", @""),
+- NSLocalizedString (
+- @"Report...", @""), nil)) {
++ NSLocalizedString (@"Report...", @""),
++ nil, msg)) {
+ exit (EXIT_FAILURE);
+ }
+ });
+@@ -1160,9 +1160,8 @@ check_xinitrc(void)
+ @"Startup xinitrc dialog");
+
+ if (NSAlertDefaultReturn ==
+- NSRunAlertPanel(nil, msg, NSLocalizedString(@"Yes", @""),
+- NSLocalizedString(@"No",
+- @""), nil)) {
++ NSRunAlertPanel(nil, @"%@", NSLocalizedString(@"Yes", @""),
++ NSLocalizedString(@"No", @""), nil, msg)) {
+ char buf2[1024];
+ int i = -1;
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index a5c5138..c75493c 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -929,9 +929,9 @@ extern char *bundle_id_prefix;
+ * and then run the alert on a timer? It seems to work here, so..
+ */
+
+- return (NSRunAlertPanel(title, msg, NSLocalizedString(@"Quit", @""),
+- NSLocalizedString(@"Cancel", @""), nil)
+- == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel;
++ NSInteger result = NSRunAlertPanel(title, @"%@", NSLocalizedString(@"Quit", @""),
++ NSLocalizedString(@"Cancel", @""), nil, msg);
++ return (result == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel;
+ }
+
+ - (void) applicationWillTerminate:(NSNotification *)aNotification _X_NORETURN
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0006-XQuartz-Relax-App-Transport-Security-for-communicati.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0006-XQuartz-Relax-App-Transport-Security-for-communicati.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0006-XQuartz-Relax-App-Transport-Security-for-communicati.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,39 @@
+From d939043594fe75c49f356e717f94195050f6d08c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Mon, 12 Oct 2015 02:04:11 -0700
+Subject: [PATCH 6/8] XQuartz: Relax App Transport Security for communicating
+ with the update server
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit df80e2649aa47957986554928e6bf41b86c15240)
+---
+ hw/xquartz/bundle/Info.plist.cpp | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp
+index a0d9050..06e33f8 100644
+--- a/hw/xquartz/bundle/Info.plist.cpp
++++ b/hw/xquartz/bundle/Info.plist.cpp
+@@ -35,6 +35,19 @@
+ <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>
+ #endif
+ <key>LSApplicationCategoryType</key>
+ <string>public.app-category.utilities</string>
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0007-XQuartz-Remove-InfoPlist.strings.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0007-XQuartz-Remove-InfoPlist.strings.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0007-XQuartz-Remove-InfoPlist.strings.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,636 @@
+From 3a7ed42d33d264f7151fa2ed9bef7a55bde1c0e2 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Mon, 12 Oct 2015 02:06:10 -0700
+Subject: [PATCH 7/8] XQuartz: Remove InfoPlist.strings
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit 6e6827aac33eddeacfb37ef3d7b0397b1446bf66)
+---
+ hw/xquartz/bundle/Makefile.am | 30 ---------------------
+ .../bundle/Resources/Dutch.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../Resources/English.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../Resources/French.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../Resources/German.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../Resources/Italian.lproj/InfoPlist.strings | Bin 278 -> 0 bytes
+ .../Resources/Japanese.lproj/InfoPlist.strings | Bin 272 -> 0 bytes
+ .../Resources/Spanish.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../bundle/Resources/ar.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../bundle/Resources/ca.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../bundle/Resources/cs.lproj/InfoPlist.strings | Bin 272 -> 0 bytes
+ .../bundle/Resources/da.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../bundle/Resources/el.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/fi.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/he.lproj/InfoPlist.strings | Bin 298 -> 0 bytes
+ .../bundle/Resources/hr.lproj/InfoPlist.strings | Bin 286 -> 0 bytes
+ .../bundle/Resources/hu.lproj/InfoPlist.strings | Bin 278 -> 0 bytes
+ .../bundle/Resources/ko.lproj/InfoPlist.strings | Bin 266 -> 0 bytes
+ .../bundle/Resources/no.lproj/InfoPlist.strings | Bin 276 -> 0 bytes
+ .../bundle/Resources/pl.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/pt.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/pt_PT.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/ro.lproj/InfoPlist.strings | Bin 280 -> 0 bytes
+ .../bundle/Resources/ru.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/sk.lproj/InfoPlist.strings | Bin 274 -> 0 bytes
+ .../bundle/Resources/sv.lproj/InfoPlist.strings | Bin 260 -> 0 bytes
+ .../bundle/Resources/th.lproj/InfoPlist.strings | Bin 270 -> 0 bytes
+ .../bundle/Resources/tr.lproj/InfoPlist.strings | Bin 272 -> 0 bytes
+ .../bundle/Resources/uk.lproj/InfoPlist.strings | Bin 264 -> 0 bytes
+ .../bundle/Resources/zh_CN.lproj/InfoPlist.strings | Bin 260 -> 0 bytes
+ .../bundle/Resources/zh_TW.lproj/InfoPlist.strings | Bin 264 -> 0 bytes
+ hw/xquartz/bundle/mk_bundke.sh | 2 +-
+ 32 files changed, 1 insertion(+), 31 deletions(-)
+ delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings
+ delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings
+
+diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
+index 87392b4..0740752 100644
+--- a/hw/xquartz/bundle/Makefile.am
++++ b/hw/xquartz/bundle/Makefile.am
+@@ -30,153 +30,123 @@ EXTRA_DIST = \
+ Info.plist.cpp \
+ PkgInfo \
+ $(resource_DATA) \
+- Resources/ar.lproj/InfoPlist.strings \
+ Resources/ar.lproj/Localizable.strings \
+ Resources/ar.lproj/locversion.plist \
+ Resources/ar.lproj/main.nib/designable.nib \
+ Resources/ar.lproj/main.nib/keyedobjects.nib \
+- Resources/ca.lproj/InfoPlist.strings \
+ Resources/ca.lproj/Localizable.strings \
+ Resources/ca.lproj/locversion.plist \
+ Resources/ca.lproj/main.nib/designable.nib \
+ Resources/ca.lproj/main.nib/keyedobjects.nib \
+- Resources/cs.lproj/InfoPlist.strings \
+ Resources/cs.lproj/Localizable.strings \
+ Resources/cs.lproj/locversion.plist \
+ Resources/cs.lproj/main.nib/designable.nib \
+ Resources/cs.lproj/main.nib/keyedobjects.nib \
+- Resources/da.lproj/InfoPlist.strings \
+ Resources/da.lproj/Localizable.strings \
+ Resources/da.lproj/locversion.plist \
+ Resources/da.lproj/main.nib/designable.nib \
+ Resources/da.lproj/main.nib/keyedobjects.nib \
+- Resources/Dutch.lproj/InfoPlist.strings \
+ Resources/Dutch.lproj/Localizable.strings \
+ Resources/Dutch.lproj/locversion.plist \
+ Resources/Dutch.lproj/main.nib/designable.nib \
+ Resources/Dutch.lproj/main.nib/keyedobjects.nib \
+- Resources/el.lproj/InfoPlist.strings \
+ Resources/el.lproj/Localizable.strings \
+ Resources/el.lproj/locversion.plist \
+ Resources/el.lproj/main.nib/designable.nib \
+ Resources/el.lproj/main.nib/keyedobjects.nib \
+- Resources/English.lproj/InfoPlist.strings \
+ Resources/English.lproj/Localizable.strings \
+ Resources/English.lproj/locversion.plist \
+ Resources/English.lproj/main.nib/designable.nib \
+ Resources/English.lproj/main.nib/keyedobjects.nib \
+- Resources/fi.lproj/InfoPlist.strings \
+ Resources/fi.lproj/Localizable.strings \
+ Resources/fi.lproj/locversion.plist \
+ Resources/fi.lproj/main.nib/designable.nib \
+ Resources/fi.lproj/main.nib/keyedobjects.nib \
+- Resources/French.lproj/InfoPlist.strings \
+ Resources/French.lproj/Localizable.strings \
+ Resources/French.lproj/locversion.plist \
+ Resources/French.lproj/main.nib/designable.nib \
+ Resources/French.lproj/main.nib/keyedobjects.nib \
+- Resources/German.lproj/InfoPlist.strings \
+ Resources/German.lproj/Localizable.strings \
+ Resources/German.lproj/locversion.plist \
+ Resources/German.lproj/main.nib/designable.nib \
+ Resources/German.lproj/main.nib/keyedobjects.nib \
+- Resources/he.lproj/InfoPlist.strings \
+ Resources/he.lproj/Localizable.strings \
+ Resources/he.lproj/locversion.plist \
+ Resources/he.lproj/main.nib/designable.nib \
+ Resources/he.lproj/main.nib/keyedobjects.nib \
+- Resources/hr.lproj/InfoPlist.strings \
+ Resources/hr.lproj/Localizable.strings \
+ Resources/hr.lproj/locversion.plist \
+ Resources/hr.lproj/main.nib/designable.nib \
+ Resources/hr.lproj/main.nib/keyedobjects.nib \
+- Resources/hu.lproj/InfoPlist.strings \
+ Resources/hu.lproj/Localizable.strings \
+ Resources/hu.lproj/locversion.plist \
+ Resources/hu.lproj/main.nib/designable.nib \
+ Resources/hu.lproj/main.nib/keyedobjects.nib \
+- Resources/Italian.lproj/InfoPlist.strings \
+ Resources/Italian.lproj/Localizable.strings \
+ Resources/Italian.lproj/locversion.plist \
+ Resources/Italian.lproj/main.nib/designable.nib \
+ Resources/Italian.lproj/main.nib/keyedobjects.nib \
+- Resources/Japanese.lproj/InfoPlist.strings \
+ Resources/Japanese.lproj/Localizable.strings \
+ Resources/Japanese.lproj/locversion.plist \
+ Resources/Japanese.lproj/main.nib/designable.nib \
+ Resources/Japanese.lproj/main.nib/keyedobjects.nib \
+- Resources/ko.lproj/InfoPlist.strings \
+ Resources/ko.lproj/Localizable.strings \
+ Resources/ko.lproj/locversion.plist \
+ Resources/ko.lproj/main.nib/designable.nib \
+ Resources/ko.lproj/main.nib/keyedobjects.nib \
+- Resources/no.lproj/InfoPlist.strings \
+ Resources/no.lproj/Localizable.strings \
+ Resources/no.lproj/locversion.plist \
+ Resources/no.lproj/main.nib/designable.nib \
+ Resources/no.lproj/main.nib/keyedobjects.nib \
+- Resources/pl.lproj/InfoPlist.strings \
+ Resources/pl.lproj/Localizable.strings \
+ Resources/pl.lproj/locversion.plist \
+ Resources/pl.lproj/main.nib/designable.nib \
+ Resources/pl.lproj/main.nib/keyedobjects.nib \
+- Resources/pt.lproj/InfoPlist.strings \
+ Resources/pt.lproj/Localizable.strings \
+ Resources/pt.lproj/locversion.plist \
+ Resources/pt.lproj/main.nib/designable.nib \
+ Resources/pt.lproj/main.nib/keyedobjects.nib \
+- Resources/pt_PT.lproj/InfoPlist.strings \
+ Resources/pt_PT.lproj/Localizable.strings \
+ Resources/pt_PT.lproj/locversion.plist \
+ Resources/pt_PT.lproj/main.nib/designable.nib \
+ Resources/pt_PT.lproj/main.nib/keyedobjects.nib \
+- Resources/ro.lproj/InfoPlist.strings \
+ Resources/ro.lproj/Localizable.strings \
+ Resources/ro.lproj/locversion.plist \
+ Resources/ro.lproj/main.nib/designable.nib \
+ Resources/ro.lproj/main.nib/keyedobjects.nib \
+- Resources/ru.lproj/InfoPlist.strings \
+ Resources/ru.lproj/Localizable.strings \
+ Resources/ru.lproj/locversion.plist \
+ Resources/ru.lproj/main.nib/designable.nib \
+ Resources/ru.lproj/main.nib/keyedobjects.nib \
+- Resources/sk.lproj/InfoPlist.strings \
+ Resources/sk.lproj/Localizable.strings \
+ Resources/sk.lproj/locversion.plist \
+ Resources/sk.lproj/main.nib/designable.nib \
+ Resources/sk.lproj/main.nib/keyedobjects.nib \
+- Resources/Spanish.lproj/InfoPlist.strings \
+ Resources/Spanish.lproj/Localizable.strings \
+ Resources/Spanish.lproj/locversion.plist \
+ Resources/Spanish.lproj/main.nib/designable.nib \
+ Resources/Spanish.lproj/main.nib/keyedobjects.nib \
+- Resources/sv.lproj/InfoPlist.strings \
+ Resources/sv.lproj/Localizable.strings \
+ Resources/sv.lproj/locversion.plist \
+ Resources/sv.lproj/main.nib/designable.nib \
+ Resources/sv.lproj/main.nib/keyedobjects.nib \
+- Resources/th.lproj/InfoPlist.strings \
+ Resources/th.lproj/Localizable.strings \
+ Resources/th.lproj/locversion.plist \
+ Resources/th.lproj/main.nib/designable.nib \
+ Resources/th.lproj/main.nib/keyedobjects.nib \
+- Resources/tr.lproj/InfoPlist.strings \
+ Resources/tr.lproj/Localizable.strings \
+ Resources/tr.lproj/locversion.plist \
+ Resources/tr.lproj/main.nib/designable.nib \
+ Resources/tr.lproj/main.nib/keyedobjects.nib \
+- Resources/uk.lproj/InfoPlist.strings \
+ Resources/uk.lproj/Localizable.strings \
+ Resources/uk.lproj/locversion.plist \
+ Resources/uk.lproj/main.nib/designable.nib \
+ Resources/uk.lproj/main.nib/keyedobjects.nib \
+ Resources/X11.icns \
+- Resources/zh_CN.lproj/InfoPlist.strings \
+ Resources/zh_CN.lproj/Localizable.strings \
+ Resources/zh_CN.lproj/locversion.plist \
+ Resources/zh_CN.lproj/main.nib/designable.nib \
+ Resources/zh_CN.lproj/main.nib/keyedobjects.nib \
+- Resources/zh_TW.lproj/InfoPlist.strings \
+ Resources/zh_TW.lproj/Localizable.strings \
+ Resources/zh_TW.lproj/locversion.plist \
+ Resources/zh_TW.lproj/main.nib/designable.nib \
+diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings
+deleted file mode 100644
+index 8f978d63fbce745e2fa97bce8bc07e87994e97bb..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvX%L>9U5Jm6WuLxZhv9%i);zA3GAa2~amA(}1gSHC#@#;wyA|fHVlbJh{ljlo;
+zd>L(2E73t0o%B$ql-vz%)sd-Hp$5%4*W7aAks9ak)RR5qzB`xC%mFLbQVU&ir}#2$
+znO~wtGq$I_#w<_MKi(C-{`1m~xP_xq at zecHX(vZeg&GpY5H=9mzCuUG7*Pu~p*p8#
+N>1~hwPePv~c>|}zEV}>z
+
+diff --git a/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings
+deleted file mode 100644
+index 88e1f04ac78e9f0b14a2b6fa57a4a02ae91d8edd..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXy9&ZU5Jhk8S1c)mn3%>wEHt19Vq;?~c`2F)Nfh+s)w5ez1X*_P?983nv+s`r
+z`7+w6R-%(`y6B}$DY*yQsv}dYLJgX8Zn@>e6E)7?sV95I{d6v$nIl%LwN|?0PVr^h
+zGrvTQ7Hm&PO<A7if4m!f{qLm%aSKPKV$eOLG>YH~HO3di*uZ2v3!NQhL at m^e>XMq}
+Mw><Vo34M;`3l6p|GXMYp
+
+diff --git a/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings
+deleted file mode 100644
+index 88e1f04ac78e9f0b14a2b6fa57a4a02ae91d8edd..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXy9&ZU5Jhk8S1c)mn3%>wEHt19Vq;?~c`2F)Nfh+s)w5ez1X*_P?983nv+s`r
+z`7+w6R-%(`y6B}$DY*yQsv}dYLJgX8Zn@>e6E)7?sV95I{d6v$nIl%LwN|?0PVr^h
+zGrvTQ7Hm&PO<A7if4m!f{qLm%aSKPKV$eOLG>YH~HO3di*uZ2v3!NQhL at m^e>XMq}
+Mw><Vo34M;`3l6p|GXMYp
+
+diff --git a/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings
+deleted file mode 100644
+index aa37e755573dcd4141d4044dad25870ae3210b24..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXy$ZrG6h^<<rwAR3Xzk)44q8wIaS_B-`YUQ%+A8S7t0x&0L_%_td(TZyo-YmM
+z%V at 1iu?{-xsE1M|<Zi at 9EtyIs(GWA%6{n2-K(*srb!1P_cSrf$*<(anXs#=C0+(vT
+z{THIql<8@&5yR8u54(ixJ}+(AH+YoFf4Yr!kY7uq5U)UexCqA at C)=5;aF!vpKx3*i
+OYS!QS*dN98IhQvCmMs$i
+
+diff --git a/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings
+deleted file mode 100644
+index 4121698807d1e090f39cf32b14d130c197c7d5f8..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 278
+zcmZvXI}5@<5QL}pR~#vWn3%>wEHt19Vq;?~c`2F)Nfh+QtKVH=5oEcWz1^9;+4o0*
+zd>QRjE73_eUG!3>l-dJq)lsQcfd<UEx4d%li5kc6)Kk5}ema)V%n=c5t(ESuQ+S#7
+z%r8Ns1;^7-Q^M2y4|fBv|NV3zZ}Cy77^sIX?eqv|p~hq}E*o4~ZK1RC8PN+hqr0SM
+NH?SJJQ-aR9`2ulQEtmiR
+
+diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings
+deleted file mode 100644
+index 2d6330fa7e8c58dec36e792de0f62f76ea0cb2fa..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 272
+zcmZvXJqp4=5QSguDMHF1x~8!Z3k at iO*x1-g{uDI{Nfh*C9>ZIB09#SNO<^Ij?9S}G
+zH?!Zq-s;Meqq%a0T5GSZE{YXVI}uA&RB~lRhnR5AxFzHr6^*}AO?8L++_*euwpf8C
+z8taHV!WV17`~%U^knL)v9?R9>k9Uf%{=T#%FX70P{&YL$W}fD1?&g8w!(`MZ3*al@
+av0bS)4WW-_)JGkmS$4}}e-qNzaC`tP?k{@)
+
+diff --git a/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings
+deleted file mode 100644
+index 0e4287d14155bd78396ae9d50cecdf37782ca44a..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXJqyAx6h-gsuLvEBXzk)44q8wIadB~#ep%GEv{lf*?XI3=5D^K<dwKW1my_p9
+zL-{gVt5U4JPAYU)s)X8=*r=sasU#X=#<}8_kq=Zmf2)q_5%<lxd}j7okrtZkf;+*N
+zYQy|9(P+x{w9|;?Y4XRr#MgaZ+LAYLl*)g)zbPN+Mj>2*`eYG|HB7cM*TGSSXo1G4
+PGc?O at dF+p3`W(v}Gg2+L
+
+diff --git a/hw/xquartz/bundle/Resources/ar.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/ar.lproj/InfoPlist.strings
+deleted file mode 100644
+index 88e1f04ac78e9f0b14a2b6fa57a4a02ae91d8edd..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXy9&ZU5Jhk8S1c)mn3%>wEHt19Vq;?~c`2F)Nfh+s)w5ez1X*_P?983nv+s`r
+z`7+w6R-%(`y6B}$DY*yQsv}dYLJgX8Zn@>e6E)7?sV95I{d6v$nIl%LwN|?0PVr^h
+zGrvTQ7Hm&PO<A7if4m!f{qLm%aSKPKV$eOLG>YH~HO3di*uZ2v3!NQhL at m^e>XMq}
+Mw><Vo34M;`3l6p|GXMYp
+
+diff --git a/hw/xquartz/bundle/Resources/ca.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/ca.lproj/InfoPlist.strings
+deleted file mode 100644
+index 95214ff3ef45d04a649d07287b470dd2901c7947..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXI}5@<5QL}pR~#vWXiQ at v7Ah!$*x1-gUW%HNBnt6w+pFJQp&+vC%|2##=bkV1
+z70PHOt3*4UbkJRyQffD_QccCG1Pz$;F3ED at o-UqWtD$;?-FjBY&JH%yTvJ_Pr|>eZ
+z*?$I&#(1Eu23VlcAMOHP^SQJkuFz4c_?hmKe|0{{Vsu5g;l4#->n98Cy~>zgq#@l2
+OJ*VI4aX(6!@mk&;?k#r!
+
+diff --git a/hw/xquartz/bundle/Resources/cs.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/cs.lproj/InfoPlist.strings
+deleted file mode 100644
+index 0f74e7c578b704f2576d01364166a0665591cf92..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 272
+zcmZvXJqyAx6h+VMuLvEBXzk)44k{>uxVX4V`e9Mq(pEu#ym}MRK_n#i<-Pk}PM$A@
+zgcvqdSPq;ic#x7Pcat`>%2bq6Bh7TKb;}eFsJ*|XQ}!hH-Md1~>}f4nGUqCHB45f@
+z^Dk1vR6AhLNGo9S$GeiR`@XbO+=!zj|LOivI%Y#Grii{GE52Ght}Ey031ihF#;VR#
+ObL_6i{l==#bG!jgnJjq#
+
+diff --git a/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings
+deleted file mode 100644
+index 88e1f04ac78e9f0b14a2b6fa57a4a02ae91d8edd..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvXy9&ZU5Jhk8S1c)mn3%>wEHt19Vq;?~c`2F)Nfh+s)w5ez1X*_P?983nv+s`r
+z`7+w6R-%(`y6B}$DY*yQsv}dYLJgX8Zn@>e6E)7?sV95I{d6v$nIl%LwN|?0PVr^h
+zGrvTQ7Hm&PO<A7if4m!f{qLm%aSKPKV$eOLG>YH~HO3di*uZ2v3!NQhL at m^e>XMq}
+Mw><Vo34M;`3l6p|GXMYp
+
+diff --git a/hw/xquartz/bundle/Resources/el.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/el.lproj/InfoPlist.strings
+deleted file mode 100644
+index 72eb2b16501302c8f917a4b89a04a40fe045bb33..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXy9&ZU5JfL+=U0T3K{TeZ5DN_`g4o#DN**d|5|SwBKiLU_jfMZEo}{o4S$1c3
+z?w#4QueaKAWNE5YftK27qq8D~)Q-el1(j3@(IUp26K*kiOIhtNR8rmIKGiOVnGKe&
+zk%l_p4)H~rF at I0A)MwjTsKc_=`{NzsE59$z$#Xaot$w;Kb1`>wH4pPNH#83_S4}b>
+d!VIFSZ>4q3=%Kmlq7Kk1`iiFdPe5Ny@&PZjE|UNN
+
+diff --git a/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings
+deleted file mode 100644
+index 8e4f6474fd29ef2edb5e82a98f879321a49cefd2..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvX%L>9U5Jm6WuLxZhv9%i);zA3GAa2~amA(}1gSHC#@#;wyf+8WglbJh{ljlo;
+zd>L(2E73t0o%B$ql-vz%)sd-Hp$5%4*W7aAks9ak)RR5qzB`xC%mFLbQVU&ir}#2$
+znO~wtGq$I_#w<_MKi(C-{`1m~xP_xq at zecHX%s;fYKSX_uz|?-6*@Y`h+3!#)j2gw
+MZ)xm*68ap;8>)3I#Q*>R
+
+diff --git a/hw/xquartz/bundle/Resources/he.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/he.lproj/InfoPlist.strings
+deleted file mode 100644
+index 3dd6946e12a66e64dc2abcefeb0f9ead8a160dcf..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 298
+zcmZvWyRLyz5QSGWjm9hNC`H^F#fid^5Q%6sT5*fGowy~uk;frOgh;4RtMU19Dw*t=
+zwPvrGS+~0)3d$+3o+>J<t)`}`sY-85?Q1}%r!Lh|>*O4)4i4+j(+ at PH+d@6 at R6%z7
+zh_o{L)d+PJT}=h{cc at NDUO*+qh=6{+XtU^s|Cfs3K0dl?e5RfMJ at 0H`8#~#-mi)zW
+v6;%i{^H>y?0HyHybjx*{+tIGJN9k;9JMz-jpcQ*oc7dO54?1}){BrmJ&igy@
+
+diff --git a/hw/xquartz/bundle/Resources/hr.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/hr.lproj/InfoPlist.strings
+deleted file mode 100644
+index 7baab082c9e232e9448e4af78f924947821e801d..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 286
+zcmZvXJqyAx6h-gsuLvEBXzk)44k{>uxVX4VKg3qs(#C at Q@#<+n2a%B6mzR_G?t8v8
+zmM^27N<}*9s*5@$ipjNTt%gjg0ySvLx#gA;k5oCnktLf$KOE&#bHG|@t)=eJF<hcO
+z^>3)robBnT3Cq*$54(Z0-%bbO8XtwuKfgaNJ6<#D8- at 4^G$dNk+v2mIAx8~<Ynax>
+UAylBL<0>~v at 2sCKqJnev2Jkm84*&oF
+
+diff --git a/hw/xquartz/bundle/Resources/hu.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/hu.lproj/InfoPlist.strings
+deleted file mode 100644
+index 842ef04aece4ff0b8707238b2b8eadef364c3c57..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 278
+zcmZvXy9&ZU5Jhk8S1c)mkC?_nEHt19Vq;?~c`0fVOccy-+pA|+un-w`XLjby%-!cp
+z1NkyqsZ^|;PCBSns)XDPe^E`QRDn16jC;u|Bkrqme65D;5&G^ZpP3yj(p)oLp%b`N
+zYv!NvMiY*wt%jJV at gH^p*L*i^h%e|Ul>c-ah3E*>bDKYkTgZpHkP#{?RN3BKd#5vm
+T4m6 at VrDlI%71=+<Omb at 8bI~pE
+
+diff --git a/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings
+deleted file mode 100644
+index 4c738f8b2cede8838240e77dd9579e4ff9cea110..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 266
+zcmZvXJqp4=5QSf1<tdhwK{TeZ5DN_`g4o#DO8yiz2__0!dn^y&snl<`un<{x-|Wmc
+zvu|H-_2kQFp;ECnI%ubxQYGXr=t(u1QUz+zjC0N{Bkrnle65D;9{TDipP6k|q^Tx4
+zLnm;lmdrn*MkBVTwfZbi!$0f{uKB*SB0k}xQ2x_x9`|R9T!@=M9ij+l6;3RlYwNs)
+U)B+8tj;UGK)`k5?OrLY`0d_DfIRF3v
+
+diff --git a/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings
+deleted file mode 100644
+index eb1cfb002dc72e22621c7d4713ff8d708401109b..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 276
+zcmZvX%L>9U5Jm6WuLxZh(b|m*aiIl85I1hzN?+DTTiPn<$Ezn<D2RmQPG;^*PM$9f
+z<;!TTO0o7jtI$KK5^^`RQA?&$i5fKHTye{Y2dbUFRY&%O`|eymGkdH^3(a-Ko#0Eg
+zVg3a*nzB9ZG-7$0{P8aFb)T2E#0?y!@}KT6<<U_Zg>VJx<BQ1DFxk#r2S*uF3pA!W
+Pqh|RnkNr_hpJRCg4*xAQ
+
+diff --git a/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings
+deleted file mode 100644
+index b9c9502149297d06b225625c20a74e31a4347144..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXy9&ZU5Jhk8S1c)mXiQ at v78+0lv9Yn0yo`?|BvH|iSI=%?A+qe=*_k`DXJ2m(
+z<;!TTO0o7jtI$)a5^^`RQA?&$i5fKHTye{Y2dbUFRY&%O`{7(ZGkdH^3(a-Ko#0Eg
+zVg3a*nzB9ZG-7$0{P8aFb>Ek^#0?y!@}F*_J5Eb^WV%rZRiHjm1Yr%4?aOs=j3Ko^
+RW2!T1mfq6X|HSk;k`JdvEV%#x
+
+diff --git a/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings
+deleted file mode 100644
+index 33c637448e0e489cb79e7d95fa78e79811090653..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXy9&ZU5Jhk8S1c)mXiQ at v78+0lv9Yn0ybNj*k|^l!`XB1qEfhqC-Fe-aJ^OrV
+zC|^cvRf at IONrmo8l~B9l8?{s_m3V{CxL0Hu at j$iHx9X at KQQw@(XJ-$Kw9s4^)Csy&
+z8}^^^MpKTbokp0a$sg?!UH5ruOWeRwD*u`OQa&Iu3ZV+rCyK~xi0oXhgJTTo1sc<x
+P(X;fH#{MT}&XK$U%u6jl
+
+diff --git a/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings
+deleted file mode 100644
+index 33c637448e0e489cb79e7d95fa78e79811090653..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXy9&ZU5Jhk8S1c)mXiQ at v78+0lv9Yn0ybNj*k|^l!`XB1qEfhqC-Fe-aJ^OrV
+zC|^cvRf at IONrmo8l~B9l8?{s_m3V{CxL0Hu at j$iHx9X at KQQw@(XJ-$Kw9s4^)Csy&
+z8}^^^MpKTbokp0a$sg?!UH5ruOWeRwD*u`OQa&Iu3ZV+rCyK~xi0oXhgJTTo1sc<x
+P(X;fH#{MT}&XK$U%u6jl
+
+diff --git a/hw/xquartz/bundle/Resources/ro.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/ro.lproj/InfoPlist.strings
+deleted file mode 100644
+index dba225f5655532cdbfe499dc5a9c69aef7ab5cec..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 280
+zcmZvXJqyA>42Iv?UvYFSqP2^IIH;fq;^N{e*AI)@mbMD|<JISG5D^J?$t7=+=bkSO
+z70PI%N>&G*Rp_Bq3Ar1-QA?&$i8uI+d(A5&9;o*ERvp<B>bqBk%<N$cEj8B_b%HL{
+zmiZUF(UcQtuMrk#@<+Qu*L^nah#NRc<v-oulx|bX4x<>hNPQv;XAPI@&UN&pF||lz
+QsxxZt501(G%F^d~-rP_w9{>OV
+
+diff --git a/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings
+deleted file mode 100644
+index 7f722e4b628764cddad52da2150429794eb0b00d..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXy9&ZU5JhjXm0uB32GJN01rdw^MG!4)Y$Y#6O+pd{{dn~xg at wqnJF|1|%$|L{
+z)t4hnYvl at c&_yRb6)U24Czh(H<jRN^G2vWsOUQdFT7RXQ>KXT=bvexJumUYK*9~`s
+zFV=?nSE8jU+tywKmaWMj?-F1AeQ8Ht!jUQc>9&k#hGu4bGd5c^4=Pt(vH-#YqNXp^
+Xv1RnoT#ZnDw1&Q+Y5o(^*OGhyTJkHj
+
+diff --git a/hw/xquartz/bundle/Resources/sk.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/sk.lproj/InfoPlist.strings
+deleted file mode 100644
+index 53b3005ed3a967fcf39df30f63863830b06c842e..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 274
+zcmZvXJqyAx6h-gsuLvEBXzk)44q8wIadB}i{ZiDnv{kS_UOfruAQF=I^6q^vC(oD0
+z@@2GDr9`nVI;mHtl-ixxsHIY=BpPDQx#5<Rk5oH<tB&d!_rtk-W)4`9R$A(YJH?l2
+z$NVeNXwLR@(1hh__Q$)%*L`2wlQ(dbDt@{@ls#&U7D5$hNESg at LuC639UWtc7HEpP
+PK(q9g#{MUv&yl<VsIDx&
+
+diff --git a/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings
+deleted file mode 100644
+index 1522655ddb03719cc2128ee998dba33663c39761..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 260
+zcmZvXI}5@<5QM+lUvZ=iqA`tySZF{I#Ky)}E)PZXAc=zhcy;ay3z6k+_GV{y=U#8d
+zgc!EeSdLsd^CTk`cNeyFVrnX(5$3u#dgaPTG+y7)i at iww@TyQV2a1FhOKwu9(q-&4
+zzZ4qgIspeJih$W4?OMA2yJ at eym5++zr`r(AN5oLPm8V7?oU-8LUB#+JOjTW|=KQ+-
+K?gv(Ve)k6-O)4z_
+
+diff --git a/hw/xquartz/bundle/Resources/th.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/th.lproj/InfoPlist.strings
+deleted file mode 100644
+index 51d294bdecb3c3a2c52f633dad46c453947b4237..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 270
+zcmZvXy9&ZU5Jhiok=|~JT at a0F6vRRUK0s`2Y{fhjH3>-+^yAf&Ei6Qq-8(yTXZGyt
+zt-d at Nt(EJby)HWGsaO%YJ6ftDlPg0FnsBbTCB!`y)?cY6d&d2+E{~ZlR;amVy5WxS
+z#o93ciW*JWu67!*T#f&D7x?P$OIzX+j!fxKw{beo$XPmV@&QD?x<ny#1vE`hs-xu#
+UsQDUFol<Ma8<OTP2l_0<2ds`OApigX
+
+diff --git a/hw/xquartz/bundle/Resources/tr.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/tr.lproj/InfoPlist.strings
+deleted file mode 100644
+index 2e003a768da504d4781185bf4a78ce744e0dc025..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 272
+zcmZvXy$ZrW5QL}pDUOsuG^Vi-3k at iO*x1-g{tRjok|^l22lcxvEJT*O+1r`joqN4C
+zmM^2ND#beLqC!ulN~qnzMlF>}C1}8md&4UuAE|cwRvpzd>W5SL%p4GrR$A(YIzg9e
+z$NVd3H0O9aXhL|J{n4(`b>B^U@&+HJ@}F+Q#vZO`vQdbqKtr+!e>Hw=SFV$D7{Udb
+R!Y<&fck9LeCZ^B%_yCzjEq4F_
+
+diff --git a/hw/xquartz/bundle/Resources/uk.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/uk.lproj/InfoPlist.strings
+deleted file mode 100644
+index 1153eafe52643ce3fda6c546782b6bf1f9299072..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 264
+zcmZvWy$ZrW5QL|=%BKhcn;;qkVj+T2Pz2FJ5L?NQh?+<e1$`r5QvGtEl^lDsJ3G5O
+zueUn#<Y=K>k#;)ipobF0a5u0}36m=W9WdpeQ>El>U97%T1$#t&w<?dF4c<gkjdevG
+zqf4}8{~2^NBwTIP<+&RC(az9Sze{WK0w0<7-)Ymd(~b#D&x}lHHfBXHz?H8S*^>xy
+VSbIz?Q~QqS*WCb>uRfK%{{fIcDH#9&
+
+diff --git a/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings
+deleted file mode 100644
+index b5df36885021f7d532daf12f218eb64269305e58..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 260
+zcmZvXJqyAx6h-eW{)o`AgVrt%;-G>eh>MG>^vj|)(pI7Vc<V_92a!i|lb7?}yLtB-
+zE0obrR*6o!s?<xFQgTnURzt?BLJgX;Z at J~1N4k5yQA_p$-FYgc=YUvgt)(8&DO{#K
+z{cotzoE7M(2 at z=ahuy%n-$@6~H9jg8Kh at 4<jFYGzGSA|u^JJm3cNHrlrc^C>bAH`?
+K_k)BgKl=k<aVtUq
+
+diff --git a/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings b/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings
+deleted file mode 100644
+index d56e1de434a75d6492fb01fb823f01705bc9d9e7..0000000000000000000000000000000000000000
+GIT binary patch
+literal 0
+HcmV?d00001
+
+literal 264
+zcmZvXI}5@<5QM+lUvZ=iqA`tySZKfph>eY{<fW)dxI{sJygGM<g~)O at dponcbFVi;
+zLJS*fQVv`=@gyfx?Jl&ms?=0MBP?{U^(vGPXuQ6qQ}rzM!>dBg>?sl!%(+RONtd(L
+z{HxF~)d|=$QUpx?XqVD;-%UH^Rz51qpKe1e9}&i`=!;9_tC0_<E;)K<vG|Cw*qJ!z
+N*?DlkNY(52e*n at 6D(3(I
+
+diff --git a/hw/xquartz/bundle/mk_bundke.sh b/hw/xquartz/bundle/mk_bundke.sh
+index 288c6a9..632e5f7 100755
+--- a/hw/xquartz/bundle/mk_bundke.sh
++++ b/hw/xquartz/bundle/mk_bundke.sh
+@@ -12,7 +12,7 @@ for lang in ${localities} ; do
+ mkdir -p ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib
+ [ -d ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib ] || exit 1
+
+- for f in InfoPlist.strings Localizable.strings main.nib/keyedobjects.nib ; do
++ for f in Localizable.strings main.nib/keyedobjects.nib ; do
+ install -m 644 ${SRCDIR}/Resources/${lang}.lproj/$f ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/${f}
+ done
+ done
+--
+2.6.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0008-XQuartz-Fix-how-we-calculate-the-height-of-the-OSX-m.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0008-XQuartz-Fix-how-we-calculate-the-height-of-the-OSX-m.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0008-XQuartz-Fix-how-we-calculate-the-height-of-the-OSX-m.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,68 @@
+From 52506f60b6680e11fa418f4e59e7159eb5b7ec39 Mon Sep 17 00:00:00 2001
+From: Ken Thomases <ken at codeweavers.com>
+Date: Mon, 12 Oct 2015 16:45:41 -0700
+Subject: [PATCH 8/8] XQuartz: Fix how we calculate the height of the OSX menu
+ bar
+
++[NSScreen mainScreen] does not mean the primary display. It used to mean the
+one with the key window. When "Displays have separate spaces" is enabled, it
+means the active screen, the one whose menu bar is mostly opaque. As such, it
+may not be the screen whose lower-left corner is located at (0, 0). That's
+why its max-Y is not necessarily comparable to its height. That only works
+for the primary display.
+
+This code could use [[NSScreen screens] firstObject]. This is always the
+primary display, the one whose lower-left corner is at (0, 0).
+
+Once that's done, the above change should be reverted. The height of the
+visible frame would be the full height of the screen minus the menu bar _and
+the Dock_ if the Dock is along the bottom of the screen.
+
+Actually, there's a theoretically-simpler approach: use
+-[NSMenu menuBarHeight]. That replaces a long-deprecated method
++[NSMenuView menuBarHeight]. However, there was a bug in Tiger that led to
+the former not working while the latter still worked. I haven't actually
+checked recently.
+
+CrossOver's still-kicking X server code uses this code, which tries all of
+the above:
+
+ NSScreen* primaryScreen = [[NSScreen screens] objectAtIndex:0];
+ aquaMenuBarHeight = [[NSApp mainMenu] menuBarHeight];
+ if (!aquaMenuBarHeight) aquaMenuBarHeight = [NSMenuView menuBarHeight];
+ if (!aquaMenuBarHeight) aquaMenuBarHeight =
+ NSHeight([primaryScreen frame]) - NSMaxY([primaryScreen visibleFrame]);
+
+Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Signed-off-by: Ken Thomases <ken at codeweavers.com>
+(cherry picked from commit 4513f924a7065edbd267cf96837af94ce5a58a6f)
+---
+ hw/xquartz/X11Application.m | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
+index 8a928ba..d2c5d30 100644
+--- a/hw/xquartz/X11Application.m
++++ b/hw/xquartz/X11Application.m
+@@ -1238,8 +1238,16 @@ X11ApplicationMain(int argc, char **argv, char **envp)
+ QuartzModeBundleInit();
+
+ /* Calculate the height of the menubar so we can avoid it. */
+- aquaMenuBarHeight = NSHeight([[NSScreen mainScreen] frame]) -
+- NSMaxY([[NSScreen mainScreen] visibleFrame]);
++ aquaMenuBarHeight = [[NSApp mainMenu] menuBarHeight];
++#if ! __LP64__
++ if (!aquaMenuBarHeight) {
++ aquaMenuBarHeight = [NSMenuView menuBarHeight];
++ }
++#endif
++ if (!aquaMenuBarHeight) {
++ NSScreen* primaryScreen = [[NSScreen screens] objectAtIndex:0];
++ aquaMenuBarHeight = NSHeight([primaryScreen frame]) - NSMaxY([primaryScreen visibleFrame]);
++ }
+
+ #ifdef HAVE_LIBDISPATCH
+ eventTranslationQueue = dispatch_queue_create(
+--
+2.6.1
+
Modified: trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,7 +1,7 @@
-From f0716c45eabc27f62e43ecd6e4001cb5b92a9203 Mon Sep 17 00:00:00 2001
+From 9ba585c94cbea9a1446b5abad58eda529f70ad8d 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/5003] 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
@@ -37,5 +37,5 @@
SDKSYMS_DEP = sdksyms.dep
-include $(SDKSYMS_DEP)
--
-2.3.0
+2.6.1
Added: trunk/dports/x11/xorg-server-devel/files/5001-Use-old-miTrapezoids-and-miTriangles-routines.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5001-Use-old-miTrapezoids-and-miTriangles-routines.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/5001-Use-old-miTrapezoids-and-miTriangles-routines.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,297 @@
+From f78bd64ef12cffbf46327641ba7baa05bfa07a6b 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 5001/5003] 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 c8378ad..cafb027 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -499,10 +499,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.1
+
Deleted: trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,165 +0,0 @@
-From 8ce19f5a2e0c31e7d3ce3daa6f7f08eefc8f1031 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 | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
- 1 file changed, 94 insertions(+), 10 deletions(-)
-
-diff --git a/mi/miexpose.c b/mi/miexpose.c
-index fc4dbc0..5e31b83 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
-+
- tile_x_off = drawable->x;
- tile_y_off = drawable->y;
-
-@@ -486,6 +513,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
- return;
- pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
- drawable = &pixmap->drawable;
-+
-+#ifdef XQUARTZ_CLIP_DEBUG
-+ ErrorF(" Draw: %d %d %d %d\n",
-+ drawable->x, drawable->y, drawable->width, drawable->height);
-+#endif
-+
- #ifdef COMPOSITE
- draw_x_off = pixmap->screen_x;
- draw_y_off = pixmap->screen_y;
-@@ -548,6 +581,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.3.0
-
Deleted: trunk/dports/x11/xorg-server-devel/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/5002-Use-old-miTrapezoids-and-miTriangles-routines.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,297 +0,0 @@
-From 2b3d9d3d7cb433b60a749c06d1e02873802ad492 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 c8378ad..cafb027 100644
---- a/fb/fbpict.c
-+++ b/fb/fbpict.c
-@@ -499,10 +499,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.3.0
-
Added: trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -0,0 +1,316 @@
+From e35f1856819eaaa4f0cc4a0687ff1f4b518085dc 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 5002/5003] 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 cafb027..6ee63e9 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,57 +318,31 @@ 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
+-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) {
+@@ -399,10 +370,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);
+@@ -436,8 +405,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;
+
+@@ -445,7 +413,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;
+@@ -463,19 +431,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.1
+
Modified: trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,316 +1,243 @@
-From 577d85c19e372140e037c6576a159108054ccaf7 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
+From 942c11eb42beafd96f6dc96fd8e1e2a832c3e9d7 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 5003/5003] 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 "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
-Revert "fb: Adjust transform or composite coordinates for pixman operations"
+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"
-http://bugs.freedesktop.org/26124
-
-This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
-This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
+This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
+This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
---
- fb/fb.h | 3 +--
- fb/fbpict.c | 82 ++++++++++++++++++-------------------------------------------
- fb/fbtrap.c | 43 ++++++++++++++------------------
- 3 files changed, 43 insertions(+), 85 deletions(-)
+ 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 ab110f3..59eaac3 100644
+index 256a1ee..8e87498 100644
--- a/fb/fb.h
+++ b/fb/fb.h
-@@ -1326,8 +1326,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
- RegionPtr pRegion, FbBits and, FbBits xor);
+@@ -1111,9 +1111,6 @@ extern _X_EXPORT void
+ extern _X_EXPORT Bool
+ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
- 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 *);
-
+-extern _X_EXPORT void
+-fbDestroyGlyphCache(void);
+-
+ /*
+ * fbpixmap.c
+ */
diff --git a/fb/fbpict.c b/fb/fbpict.c
-index cafb027..6ee63e9 100644
+index 6ee63e9..9c4cc42 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)
+@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
+ free_pixman_pict(pDst, dest);
}
- 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,57 +318,31 @@ 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;
+-static pixman_glyph_cache_t *glyphCache;
-
- 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
--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;
+-void
+-fbDestroyGlyphCache(void)
+-{
+- if (glyphCache)
+- {
+- pixman_glyph_cache_destroy (glyphCache);
+- glyphCache = 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) {
-@@ -399,10 +370,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);
-@@ -436,8 +405,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;
-
-@@ -445,7 +413,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;
-@@ -463,19 +431,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);
+-static void
+-fbUnrealizeGlyph(ScreenPtr pScreen,
+- GlyphPtr pGlyph)
+-{
+- if (glyphCache)
+- pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
+-}
-
-+ 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;
+-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;
-
-- 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)
+- 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_image_t *image;
-- int dst_xoff, dst_yoff;
+@@ -461,8 +315,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);
-- if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+ if (!(image = image_from_pict (pPicture, FALSE)))
- return;
+ extern _X_EXPORT void
++
+ fbTriangles(CARD8 op,
+ PicturePtr pSrc,
+ PicturePtr pDst,
+ PictFormatPtr maskFormat,
+ INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
-- 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;
+-extern _X_EXPORT void
+-fbGlyphs(CARD8 op,
+- PicturePtr pSrc,
+- PicturePtr pDst,
+- PictFormatPtr maskFormat,
+- INT16 xSrc,
+- INT16 ySrc, int nlist,
+- GlyphListPtr list,
+- GlyphPtr *glyphs);
-
-- 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);
+ #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;
- 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);
+- fbDestroyGlyphCache();
+ for (d = 0; d < pScreen->numDepths; d++)
+ free(depths[d].vids);
+ free(depths);
--
-2.3.0
+2.6.1
Deleted: trunk/dports/x11/xorg-server-devel/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch 2015-10-14 08:42:46 UTC (rev 141279)
+++ trunk/dports/x11/xorg-server-devel/files/5004-fb-Revert-fb-changes-that-broke-XQuartz.patch 2015-10-14 08:50:09 UTC (rev 141280)
@@ -1,243 +0,0 @@
-From 6ec80b7b3e4c76f6bdb0afacbe8acf21984b43fe 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
-
- 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 59eaac3..046b948 100644
---- a/fb/fb.h
-+++ b/fb/fb.h
-@@ -1116,9 +1116,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 6ee63e9..9c4cc42 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 = 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)
- {
-@@ -461,8 +315,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.3.0
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151014/a1c369af/attachment-0001.html>
More information about the macports-changes
mailing list