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