1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
Index: xorg-server-1.14.4/miext/shadow/shpacked.c
===================================================================
--- xorg-server-1.14.4.orig/miext/shadow/shpacked.c 2013-07-26 00:19:03.000000000 -0500
+++ xorg-server-1.14.4/miext/shadow/shpacked.c 2014-02-03 18:41:33.442014329 -0600
@@ -56,6 +56,9 @@
int i;
FbBits *winBase = NULL, *win;
CARD32 winSize;
+ unsigned int z, byByte, *tmpSrcPtr, *tmpDestPtr;
+ char *tmpCSrcPtr, *tmpCDestPtr;
+
fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff,
shaYoff);
@@ -99,7 +102,15 @@
width -= i;
scr += i;
#define PickBit(a,i) (((a) >> (i)) & 1)
- memcpy(win, sha, i * sizeof(FbBits));
+ //fprintf(stdout,"memcpy %08llx win %08llx sha %08llx size %llx i %llx FbBits\n",win, sha, i* sizeof(FbBits),i , sizeof(FbBits));
+ //memcpy(win, sha, i * sizeof(FbBits));
+ tmpSrcPtr=(unsigned int *)sha;
+ tmpDestPtr=(unsigned int *)win; z=(i * sizeof(FbBits))/4;
+ for (; z; z--) {
+ *tmpDestPtr = *tmpSrcPtr;
+ tmpDestPtr++;
+ tmpSrcPtr++;
+ } for(byByte = (i * sizeof(FbBits))%4, tmpCDestPtr=(char *)tmpDestPtr, tmpCSrcPtr=(char*)tmpSrcPtr; byByte; byByte--) { *tmpCDestPtr = *tmpCSrcPtr; tmpCDestPtr++; tmpCSrcPtr++; }
sha += i;
}
shaLine += shaStride;
|