aboutsummaryrefslogtreecommitdiff
path: root/x11/rxvt
diff options
context:
space:
mode:
authorDennis Herrmann <dhn@FreeBSD.org>2011-06-20 14:50:18 +0000
committerDennis Herrmann <dhn@FreeBSD.org>2011-06-20 14:50:18 +0000
commitabb9688e7d2ff59f3c10f61f09b0e71fd2576463 (patch)
treeee350274af7e8a48256dab9b3f9ef2c064be5def /x11/rxvt
parent388237cb87138719aee862bdaa0d09bee5f2b3bb (diff)
downloadports-abb9688e7d2ff59f3c10f61f09b0e71fd2576463.tar.gz
ports-abb9688e7d2ff59f3c10f61f09b0e71fd2576463.zip
Notes
Diffstat (limited to 'x11/rxvt')
-rw-r--r--x11/rxvt/Makefile2
-rw-r--r--x11/rxvt/files/patch-screen.c52
2 files changed, 53 insertions, 1 deletions
diff --git a/x11/rxvt/Makefile b/x11/rxvt/Makefile
index e3ca32b9528a..b9f87c909769 100644
--- a/x11/rxvt/Makefile
+++ b/x11/rxvt/Makefile
@@ -9,7 +9,7 @@
PORTNAME= rxvt
PORTVERSION= 2.6.4
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES+= x11
MASTER_SITES= SF
diff --git a/x11/rxvt/files/patch-screen.c b/x11/rxvt/files/patch-screen.c
new file mode 100644
index 000000000000..87eb488ceed3
--- /dev/null
+++ b/x11/rxvt/files/patch-screen.c
@@ -0,0 +1,52 @@
+--- src/screen.c.orig 2011-04-21 08:56:56.000000000 +0200
++++ src/screen.c 2011-04-21 08:59:19.000000000 +0200
+@@ -3359,6 +3359,7 @@
+ XEvent ev;
+ Atom32 target_list[4];
+ Atom target;
++ Atom property;
+ static Atom xa_targets = None;
+ static Atom xa_compound_text = None;
+ static Atom xa_text = None;
+@@ -3381,16 +3382,26 @@
+ ev.xselection.target = rq->target;
+ ev.xselection.time = rq->time;
+
++ /* ICCCM: 2.2. Responsibilities of the Selection Owner
++ * SelectionRequest:
++ * If the specified property is None , the requestor
++ * an obsolete client. Owners are encouraged
++ * to support these clients by using the specified
++ * target atom as the property name to be used for
++ * the reply.
++ */
++ property = (rq->property == 0) ? rq->target : rq->property;
++
+ if (rq->target == xa_targets) {
+ target_list[0] = (Atom32) xa_targets;
+ target_list[1] = (Atom32) XA_STRING;
+ target_list[2] = (Atom32) xa_text;
+ target_list[3] = (Atom32) xa_compound_text;
+- XChangeProperty(Xdisplay, rq->requestor, rq->property, rq->target,
++ XChangeProperty(Xdisplay, rq->requestor, property, rq->target,
+ (8 * sizeof(target_list[0])), PropModeReplace,
+ (unsigned char *)target_list,
+ (sizeof(target_list) / sizeof(target_list[0])));
+- ev.xselection.property = rq->property;
++ ev.xselection.property = property;
+ } else if (rq->target == XA_STRING
+ || rq->target == xa_compound_text
+ || rq->target == xa_text) {
+@@ -3404,10 +3415,10 @@
+ }
+ cl[0] = selection.text;
+ XmbTextListToTextProperty(Xdisplay, cl, 1, style, &ct);
+- XChangeProperty(Xdisplay, rq->requestor, rq->property,
++ XChangeProperty(Xdisplay, rq->requestor, property,
+ target, 8, PropModeReplace,
+ ct.value, ct.nitems);
+- ev.xselection.property = rq->property;
++ ev.xselection.property = property;
+ }
+ XSendEvent(Xdisplay, rq->requestor, False, 0, &ev);
+ }