On Thu, 20 Aug 2009 20:40:47 +0200, Enlightenment SVN  
<[email protected]> wrote:

> Log:
>   add patch from fedora to try and fix qt copy & paste problems on 64bit  
> systems
> Author:       vapier
> Date:         2009-08-20 11:40:47 -0700 (Thu, 20 Aug 2009)
> New Revision: 41896
>
> Modified:
>   trunk/eterm/Eterm/src/screen.c
>
> Modified: trunk/eterm/Eterm/src/screen.c
> ===================================================================
> --- trunk/eterm/Eterm/src/screen.c    2009-08-20 18:38:38 UTC (rev 41895)
> +++ trunk/eterm/Eterm/src/screen.c    2009-08-20 18:40:47 UTC (rev 41896)
> @@ -3320,7 +3320,7 @@
>          target_list[0] = (Atom32) props[PROP_SELECTION_TARGETS];
>          target_list[1] = (Atom32) XA_STRING;
>          XChangeProperty(Xdisplay, rq->requestor, rq->property,  
> rq->target,
> -                        8, PropModeReplace, (unsigned char *)  
> target_list,
> +                        (8 * sizeof(target_list[0])), PropModeReplace,  
> (unsigned char *) target_list,
>                          (sizeof(target_list) / sizeof(target_list[0])));
>          ev.xselection.property = rq->property;
>  #if defined(MULTI_CHARSET) && defined(HAVE_X11_XMU_ATOMS_H)
>

This reverts a "fix" made May 14 2008.

I don't think either are correct and I suggest this in stead:

diff --git src/screen.c src/screen.c
index 3aa8b42..80a2c52 100644
--- src/screen.c
+++ src/screen.c
@@ -3292,13 +3292,6 @@ selection_rotate(int x, int y)
  }

  /*
- * On some systems, the Atom typedef is 64 bits wide.  We need to have a  
type
- * that is exactly 32 bits wide, because a format of 64 is not allowed by
- * the X11 protocol.
- */
-typedef CARD32 Atom32;
-
-/*
   * Respond to a request for our current selection
   * EXT: SelectionRequest
   */
@@ -3306,7 +3299,7 @@ void
  selection_send(XSelectionRequestEvent * rq)
  {
      XEvent ev;
-    Atom32 target_list[2];
+    long target_list[2];

      ev.xselection.type = SelectionNotify;
      ev.xselection.property = None;
@@ -3317,10 +3310,10 @@ selection_send(XSelectionRequestEvent * rq)
      ev.xselection.time = rq->time;

      if (rq->target == props[PROP_SELECTION_TARGETS]) {
-        target_list[0] = (Atom32) props[PROP_SELECTION_TARGETS];
-        target_list[1] = (Atom32) XA_STRING;
+        target_list[0] = props[PROP_SELECTION_TARGETS];
+        target_list[1] = XA_STRING;
          XChangeProperty(Xdisplay, rq->requestor, rq->property, rq->target,
-                        (8 * sizeof(target_list[0])), PropModeReplace,  
(unsigned char
+                        32, PropModeReplace, (unsigned char *)  
target_list,
                          (sizeof(target_list) / sizeof(target_list[0])));
          ev.xselection.property = rq->property;
  #if defined(MULTI_CHARSET) && defined(HAVE_X11_XMU_ATOMS_H)

The data are Atoms so the format must be 32 and the data type must be long.

/Kim

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to