diff options
author | Dennis Herrmann <dhn@FreeBSD.org> | 2011-06-20 14:50:18 +0000 |
---|---|---|
committer | Dennis Herrmann <dhn@FreeBSD.org> | 2011-06-20 14:50:18 +0000 |
commit | abb9688e7d2ff59f3c10f61f09b0e71fd2576463 (patch) | |
tree | ee350274af7e8a48256dab9b3f9ef2c064be5def /x11/rxvt/files | |
parent | 388237cb87138719aee862bdaa0d09bee5f2b3bb (diff) |
Notes
Diffstat (limited to 'x11/rxvt/files')
-rw-r--r-- | x11/rxvt/files/patch-screen.c | 52 |
1 files changed, 52 insertions, 0 deletions
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); + } |