aboutsummaryrefslogtreecommitdiff
path: root/x11-toolkits
diff options
context:
space:
mode:
authorJeremy Messenger <mezz@FreeBSD.org>2010-03-18 01:44:19 +0000
committerJeremy Messenger <mezz@FreeBSD.org>2010-03-18 01:44:19 +0000
commite44121e1c4841e56d184c743caee37e0a373a9dc (patch)
tree1172d5e8fc2d2c871f0eda6e9095ae06259fb8d8 /x11-toolkits
parent176e5b4e58cc030f3cd428cac05e63e9c829e489 (diff)
downloadports-e44121e1c4841e56d184c743caee37e0a373a9dc.tar.gz
ports-e44121e1c4841e56d184c743caee37e0a373a9dc.zip
Notes
Diffstat (limited to 'x11-toolkits')
-rw-r--r--x11-toolkits/pango/Makefile2
-rw-r--r--x11-toolkits/pango/files/patch-64bit_safe48
2 files changed, 49 insertions, 1 deletions
diff --git a/x11-toolkits/pango/Makefile b/x11-toolkits/pango/Makefile
index 6c17a364b0ef..d14a785cf8ce 100644
--- a/x11-toolkits/pango/Makefile
+++ b/x11-toolkits/pango/Makefile
@@ -8,7 +8,7 @@
PORTNAME= pango
PORTVERSION= 1.26.2
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= x11-toolkits
MASTER_SITES= GNOME \
ftp://ftp.gtk.org/pub/pango/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/
diff --git a/x11-toolkits/pango/files/patch-64bit_safe b/x11-toolkits/pango/files/patch-64bit_safe
new file mode 100644
index 000000000000..54c00ddc82ea
--- /dev/null
+++ b/x11-toolkits/pango/files/patch-64bit_safe
@@ -0,0 +1,48 @@
+From 952847a6e2d53b33cea39d13255fd0f7c8075942 Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue, 23 Feb 2010 21:44:55 +0000
+Subject: Make blob unlocking 64bit-safe
+
+Bug 604128 - Applications crash when displaying Hebrew characters
+---
+diff --git a/pango/opentype/hb-blob.c b/pango/opentype/hb-blob.c
+index 107cd43..3348a38 100644
+--- pango.orig/opentype/hb-blob.c
++++ pango/opentype/hb-blob.c
+@@ -243,18 +243,18 @@ static hb_bool_t
+ _try_make_writable_inplace_unix_locked (hb_blob_t *blob)
+ {
+ #if defined(HAVE_SYS_MMAN_H) && defined(HAVE_MPROTECT)
+- unsigned int pagesize = -1, mask, length;
++ uintptr_t pagesize = -1, mask, length;
+ const char *addr;
+
+ #if defined(HAVE_SYSCONF) && defined(_SC_PAGE_SIZE)
+- pagesize = (unsigned int) sysconf (_SC_PAGE_SIZE);
++ pagesize = (uintptr_t) sysconf (_SC_PAGE_SIZE);
+ #elif defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
+- pagesize = (unsigned int) sysconf (_SC_PAGESIZE);
++ pagesize = (uintptr_t) sysconf (_SC_PAGESIZE);
+ #elif defined(HAVE_GETPAGESIZE)
+- pagesize = (unsigned int) getpagesize ();
++ pagesize = (uintptr_t) getpagesize ();
+ #endif
+
+- if ((unsigned int) -1 == pagesize) {
++ if ((uintptr_t) -1L == pagesize) {
+ #if HB_DEBUG_BLOB
+ fprintf (stderr, "%p %s: failed to get pagesize: %s\n", blob, __FUNCTION__, strerror (errno));
+ #endif
+@@ -265,8 +265,8 @@ _try_make_writable_inplace_unix_locked (hb_blob_t *blob)
+ #endif
+
+ mask = ~(pagesize-1);
+- addr = (const char *) (((size_t) blob->data) & mask);
+- length = (const char *) (((size_t) blob->data + blob->length + pagesize-1) & mask) - addr;
++ addr = (const char *) (((uintptr_t) blob->data) & mask);
++ length = (const char *) (((uintptr_t) blob->data + blob->length + pagesize-1) & mask) - addr;
+ #if HB_DEBUG_BLOB
+ fprintf (stderr, "%p %s: calling mprotect on [%p..%p] (%d bytes)\n",
+ blob, __FUNCTION__,
+--
+cgit v0.8.3.1