xserver: Branch 'xorg-server-1.4-apple'

George Peter Staplin gstaplin at kemper.freedesktop.org
Thu Sep 25 11:32:42 PDT 2008


 hw/xquartz/pbproxy/x-selection.m |   27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

New commits:
commit 82a4dc5f0f31a7911ee1cce5d1b162077befa811
Author: George Peter Staplin <gps at Georges-Workstation.local>
Date:   Thu Sep 25 12:29:57 2008 -0600

    XQuartz: pbproxy: Fix a bug that rxvt brought out in STRING copying.  Now I can copy and paste to/from rxvt correctly.

diff --git a/hw/xquartz/pbproxy/x-selection.m b/hw/xquartz/pbproxy/x-selection.m
index 9556032..14f6967 100644
--- a/hw/xquartz/pbproxy/x-selection.m
+++ b/hw/xquartz/pbproxy/x-selection.m
@@ -890,8 +890,10 @@ get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Ato
 	return;
     }
 
-    DB ("e->selection %s\n", XGetAtomName (x_dpy, e->selection));
-    DB ("e->property %s\n", XGetAtomName (x_dpy, e->property));
+#if 0
+    printf ("e->selection %s\n", XGetAtomName (x_dpy, e->selection));
+    printf ("e->property %s\n", XGetAtomName (x_dpy, e->property));
+#endif
 
     if ([self is_incr_type:e]) 
     {
@@ -1114,11 +1116,14 @@ get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Ato
 
     pbtypes = [NSArray arrayWithObjects:NSStringPboardType, nil];
 
-    if (nil != pbtypes)
+    if (nil == pbtypes)
     {
-	[pb declareTypes:pbtypes owner:nil];
-	[pb setString:string forType:NSStringPboardType];
+	[string autorelease];
+	return;
     }
+
+    [pb declareTypes:pbtypes owner:nil];
+    [pb setString:string forType:NSStringPboardType];
     [string autorelease];
 }
 
@@ -1138,7 +1143,14 @@ get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Ato
 	free_propdata (pdata);
 	return;
     }
- 
+
+#if 0
+    if (None != request_atom)
+	printf ("request_atom %s\n", XGetAtomName (x_dpy, request_atom));
+	       
+    printf ("type %s\n", XGetAtomName (x_dpy, type));
+#endif
+
     if (request_atom == atoms->targets && type == atoms->atom)
     {
 	[self handle_targets:selection propdata:pdata];
@@ -1159,7 +1171,7 @@ get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Ato
     {
 	[self handle_string:pdata pasteboard:pb];
     } 
- 
+    
     free_propdata(pdata);
 
     [self copy_completed:selection];
@@ -1244,6 +1256,7 @@ get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Ato
     atoms->clipboard = XInternAtom (x_dpy, "CLIPBOARD", False);
     atoms->text = XInternAtom (x_dpy, "TEXT", False);
     atoms->utf8_string = XInternAtom (x_dpy, "UTF8_STRING", False);
+    atoms->string = XInternAtom (x_dpy, "STRING", False);
     atoms->targets = XInternAtom (x_dpy, "TARGETS", False);
     atoms->multiple = XInternAtom (x_dpy, "MULTIPLE", False);
     atoms->cstring = XInternAtom (x_dpy, "CSTRING", False);


More information about the xorg-commit mailing list