summaryrefslogtreecommitdiff
path: root/src/ct_cursor.c
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-09-15 16:33:58 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-09-15 16:33:58 +0000
commitfb08c6f1a8ee5df3bd2d508f5bfbbd670c97c647 (patch)
tree1ff4c88ac8915330adb96be4b1a39a4e2df4837e /src/ct_cursor.c
parent02a2549c8898ec01ed04a094e4daf340d7a12d1c (diff)
Diffstat (limited to 'src/ct_cursor.c')
-rw-r--r--src/ct_cursor.c10
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: