From 63a42b35967f0b0061ac38b0b2f70e10595afc42 Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 8 Jun 2007 17:49:54 +0000 Subject: Sergey Svishchev writes (in PR 33255), providing a patch: kde uses the X clipboard's content negotiation features, which almost nobody else does, but xclip was doing the wrong thing when asked for content negotiation stuff (from Debian bug report 172812). Bump PKGREVISION. --- x11/xclip/Makefile | 4 ++-- x11/xclip/distinfo | 3 ++- x11/xclip/patches/patch-aa | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 x11/xclip/patches/patch-aa (limited to 'x11') diff --git a/x11/xclip/Makefile b/x11/xclip/Makefile index 4993c65f825..0f020a8fccc 100644 --- a/x11/xclip/Makefile +++ b/x11/xclip/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.10 2006/12/27 13:37:43 joerg Exp $ +# $NetBSD: Makefile,v 1.11 2007/06/08 17:49:54 wiz Exp $ # DISTNAME= xclip-0.08 -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= x11 MASTER_SITES= http://people.debian.org/~kims/xclip/ diff --git a/x11/xclip/distinfo b/x11/xclip/distinfo index 4bd633aed0c..d0f1c757292 100644 --- a/x11/xclip/distinfo +++ b/x11/xclip/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.2 2005/02/23 17:36:21 wiz Exp $ +$NetBSD: distinfo,v 1.3 2007/06/08 17:49:54 wiz Exp $ SHA1 (xclip-0.08.tar.gz) = 2b20daab0523a2b4b2cab1f24887481556eadb8b RMD160 (xclip-0.08.tar.gz) = 644c0418b44ce533fd39e37ec2dd888a394e8f7d Size (xclip-0.08.tar.gz) = 27914 bytes +SHA1 (patch-aa) = 4a9039454a8494f398daa1dbaae52014d8d5d4dc diff --git a/x11/xclip/patches/patch-aa b/x11/xclip/patches/patch-aa new file mode 100644 index 00000000000..d42959d0dfa --- /dev/null +++ b/x11/xclip/patches/patch-aa @@ -0,0 +1,58 @@ +$NetBSD: patch-aa,v 1.1 2007/06/08 17:49:54 wiz Exp $ + +KDE integration (from Debian bug 172812) + +--- xclib.c.orig Mon Dec 17 01:14:40 2001 ++++ xclib.c Thu Dec 12 13:16:57 2002 +@@ -100,7 +100,7 @@ + ) + { + /* a property for other windows to put their selection into */ +- Atom pty, inc, pty_type; ++ Atom pty, inc, pty_type, targets; + int pty_format; + + /* buffer for XGetWindowProperty to dump data into */ +@@ -111,6 +111,7 @@ + unsigned char *ltxt; + + pty = XInternAtom(dpy, "XCLIP_OUT", False); ++ targets = XInternAtom(dpy, "TARGETS", False); + + switch (*context) + { +@@ -353,7 +354,9 @@ + * transfers only) + */ + XEvent res; /* response to event */ +- Atom inc; ++ Atom inc, targets; ++ ++ targets = XInternAtom(dpy, "TARGETS", False); + + switch (*context) + { +@@ -369,7 +372,22 @@ + *pos = 0; + + /* put the data into an property */ +- if (len > XC_CHUNK) ++ if (evt.xselectionrequest.target == targets) ++ { ++ Atom types[2] = { targets, XA_STRING }; ++ ++ /* send data all at once (not using INCR) */ ++ XChangeProperty( ++ dpy, ++ *win, ++ *pty, ++ targets, ++ 8, ++ PropModeReplace, ++ (unsigned char*) types, ++ (int)sizeof(types) ++ ); ++ } else if (len > XC_CHUNK) + { + /* INCR Atom to set response property to */ + inc = XInternAtom(dpy, "INCR", False); -- cgit v1.2.3