summaryrefslogtreecommitdiffstats
path: root/development/icon/patches/display.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/icon/patches/display.patch')
-rw-r--r--development/icon/patches/display.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/development/icon/patches/display.patch b/development/icon/patches/display.patch
new file mode 100644
index 0000000000..05eab35d2c
--- /dev/null
+++ b/development/icon/patches/display.patch
@@ -0,0 +1,44 @@
+commit d0cd013653360f6f11e3b5dbdbbf3788a5c08b02
+Author: Gregg Townsend <gmt@cs.arizona.edu>
+Date: Thu Dec 4 15:37:39 2014 -0700
+
+ Handle $DISPLAY longer than 63 characters.
+ First seen as a problem on Macintosh OS X 10.10 ("Yosemite").
+ Side effects revealed other bugs in cross-display CopyArea and
+ gamma correction.
+
+diff --git a/src/h/graphics.h b/src/h/graphics.h
+--- a/src/h/graphics.h
++++ b/src/h/graphics.h
+@@ -201,7 +201,7 @@
+ typedef struct _wdisplay {
+ int refcount;
+ int serial; /* serial # */
+- char name[MAXDISPLAYNAME];
++ char *name;
+ Display * display;
+ Visual * visual;
+ GC icongc;
+diff --git a/src/h/xwin.h b/src/h/xwin.h
+--- a/src/h/xwin.h
++++ b/src/h/xwin.h
+@@ -73,7 +73,6 @@
+ */
+ #define WMAXCOLORS 256
+ #define MAXCOLORNAME 40
+-#define MAXDISPLAYNAME 64
+ #define CSHARED 0
+ #define CMUTABLE 1
+ #define NUMCURSORSYMS 78
+diff --git a/src/runtime/rxrsc.ri b/src/runtime/rxrsc.ri
+--- a/src/runtime/rxrsc.ri
++++ b/src/runtime/rxrsc.ri
+@@ -376,7 +376,7 @@
+
+ GRFX_ALLOC(wd, _wdisplay);
+
+- strcpy(wd->name,s);
++ wd->name = salloc(s);
+ wd->display = XOpenDisplay((*s=='\0') ? NULL : s);
+
+ if (wd->display == NULL) {