summaryrefslogtreecommitdiff
path: root/src/ast_cursor.c
diff options
context:
space:
mode:
authorY.C. Chen <yc_chen@aspeedtech.com>2009-04-13 21:01:51 +0800
committerY.C. Chen <yc_chen@aspeedtech.com>2009-04-13 21:01:51 +0800
commitca0863e91cf7bdbd2f9c30aa1af5c9471dfc858e (patch)
treed4833c83e7df16e4b06b0e5a9455216496f82f33 /src/ast_cursor.c
parentda1387d472ce893f0c3466e59c9808db8e1025f0 (diff)
xf86-video-ast-0.89.0xf86-video-ast-0.89.0
Diffstat (limited to 'src/ast_cursor.c')
-rw-r--r--src/ast_cursor.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ast_cursor.c b/src/ast_cursor.c
index 6b6cb94..8c9757a 100644
--- a/src/ast_cursor.c
+++ b/src/ast_cursor.c
@@ -203,6 +203,10 @@ ASTSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
pAST->HWCInfo.fg = (fg & 0x0F) | (((fg>>8) & 0x0F) << 4) | (((fg>>16) & 0x0F) << 8);
pAST->HWCInfo.bg = (bg & 0x0F) | (((bg>>8) & 0x0F) << 4) | (((bg>>16) & 0x0F) << 8);
+
+ /* Fixed xorg bugzilla #20609, ycchen@031209 */
+ ASTLoadCursorImage(pScrn, pAST->HWCInfo.cursorpattern);
+
}
static void
@@ -223,6 +227,10 @@ ASTLoadCursorImage(ScrnInfoPtr pScrn, UCHAR *src)
pAST->HWCInfo.offset_x = MAX_HWC_WIDTH - pAST->HWCInfo.width;
pAST->HWCInfo.offset_y = MAX_HWC_HEIGHT - pAST->HWCInfo.height;
+ /* copy to hwc info */
+ for (i=0; i< MAX_HWC_WIDTH*MAX_HWC_HEIGHT/4; i+=4)
+ *(ULONG *) (pAST->HWCInfo.cursorpattern + i) = *(ULONG *) (src + i);
+
/* copy cursor image to cache */
pjSrcXor = src;
pjSrcAnd = src + (MAX_HWC_WIDTH*MAX_HWC_HEIGHT/8);