diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2004-09-15 16:33:58 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2004-09-15 16:33:58 +0000 |
commit | fb08c6f1a8ee5df3bd2d508f5bfbbd670c97c647 (patch) | |
tree | 1ff4c88ac8915330adb96be4b1a39a4e2df4837e /src/ct_cursor.c | |
parent | 02a2549c8898ec01ed04a094e4daf340d7a12d1c (diff) |
Pull XORG-6_8_0 to CYGWIN branchYGWIN-6_8_1-MERGECYGWIN-6_8_1-MERGECYGWIN-6_8_0-MERGE
Diffstat (limited to 'src/ct_cursor.c')
-rw-r--r-- | src/ct_cursor.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ct_cursor.c b/src/ct_cursor.c index 147469c..f88a335 100644 --- a/src/ct_cursor.c +++ b/src/ct_cursor.c @@ -330,9 +330,14 @@ CHIPSLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src) if (cPtr->Flags & ChipsLinearSupport) { #if X_BYTE_ORDER == X_BIG_ENDIAN /* On big endian machines we must flip our cursor image around. */ - switch(cAcl->BytesPerPixel) { + switch(pScrn->bitsPerPixel >> 3) { case 4: case 3: +#if 1 + memcpy((unsigned char *)cPtr->FbBase + cAcl->CursorAddress, + src, cPtr->CursorInfoRec->MaxWidth * + cPtr->CursorInfoRec->MaxHeight / 4); +#else for (y = 0; y < 64; y++) { P_SWAP32(d,s); d++; s++; @@ -343,6 +348,7 @@ CHIPSLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src) P_SWAP32(d,s); d++; s++; } +#endif break; case 2: for (y = 0; y < 64; y++) { @@ -354,8 +360,6 @@ CHIPSLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src) d++; s++; P_SWAP16(d,s); d++; s++; - P_SWAP16(d,s); - d++; s++; } break; default: |