Module: wine Branch: master Commit: 389ffed29324e57f98e470f7d573293aae2864e6 URL: http://source.winehq.org/git/wine.git/?a=commit;h=389ffed29324e57f98e470f7d5...
Author: Erich Hoover ehoover@mines.edu Date: Wed Mar 9 22:56:34 2011 -0700
user32: Add FIXMEs for unsupported animated cursor data.
---
dlls/user32/cursoricon.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c index 141bec8..0d73ecb 100644 --- a/dlls/user32/cursoricon.c +++ b/dlls/user32/cursoricon.c @@ -891,6 +891,7 @@ static HICON CURSORICON_CreateIconFromBMI( BITMAPINFO *bmi, HMODULE module, LPCW #define ANI_anih_ID RIFF_FOURCC('a', 'n', 'i', 'h') #define ANI_seq__ID RIFF_FOURCC('s', 'e', 'q', ' ') #define ANI_fram_ID RIFF_FOURCC('f', 'r', 'a', 'm') +#define ANI_rate_ID RIFF_FOURCC('r', 'a', 't', 'e')
#define ANI_FLAG_ICON 0x1 #define ANI_FLAG_SEQUENCE 0x2 @@ -996,6 +997,7 @@ static HCURSOR CURSORICON_CreateIconFromANI( const LPBYTE bits, DWORD bits_size, riff_chunk_t ACON_chunk = {0}; riff_chunk_t anih_chunk = {0}; riff_chunk_t fram_chunk = {0}; + riff_chunk_t rate_chunk = {0}; const unsigned char *icon_chunk; const unsigned char *icon_data;
@@ -1017,6 +1019,19 @@ static HCURSOR CURSORICON_CreateIconFromANI( const LPBYTE bits, DWORD bits_size, memcpy( &header, anih_chunk.data, sizeof(header) ); dump_ani_header( &header );
+ if (!(header.flags & ANI_FLAG_ICON)) + { + FIXME("Raw animated icon/cursor data is not currently supported.\n"); + return 0; + } + + if (header.flags & ANI_FLAG_SEQUENCE) + FIXME("Animated icon/cursor sequence data is not currently supported, frames may appear out of sequence.\n"); + + riff_find_chunk( ANI_rate_ID, 0, &ACON_chunk, &rate_chunk ); + if (rate_chunk.data) + FIXME("Animated icon/cursor multiple frame-frate data not currently supported.\n"); + riff_find_chunk( ANI_fram_ID, ANI_LIST_ID, &ACON_chunk, &fram_chunk ); if (!fram_chunk.data) {