winex11: Use GetIconInfoEx when creating cursors.

This commit is contained in:
Alexandre Julliard 2010-10-18 12:09:25 +02:00
parent 2b4aeca70b
commit 85a69604de
1 changed files with 6 additions and 5 deletions

View File

@ -470,7 +470,7 @@ void X11DRV_send_mouse_input( HWND hwnd, DWORD flags, DWORD x, DWORD y,
* *
* Use Xcursor to create a frame of an X cursor from a Windows one. * Use Xcursor to create a frame of an X cursor from a Windows one.
*/ */
static XcursorImage *create_xcursor_frame( HDC hdc, ICONINFO *iinfo, HANDLE icon, static XcursorImage *create_xcursor_frame( HDC hdc, const ICONINFOEXW *iinfo, HANDLE icon,
HBITMAP hbmColor, unsigned char *color_bits, int color_size, HBITMAP hbmColor, unsigned char *color_bits, int color_size,
HBITMAP hbmMask, unsigned char *mask_bits, int mask_size, HBITMAP hbmMask, unsigned char *mask_bits, int mask_size,
int width, int height, int istep ) int width, int height, int istep )
@ -537,7 +537,7 @@ cleanup:
* *
* Use Xcursor to create an X cursor from a Windows one. * Use Xcursor to create an X cursor from a Windows one.
*/ */
static Cursor create_xcursor_cursor( HDC hdc, ICONINFO *iinfo, HANDLE icon, int width, int height ) static Cursor create_xcursor_cursor( HDC hdc, const ICONINFOEXW *iinfo, HANDLE icon, int width, int height )
{ {
unsigned char *color_bits, *mask_bits; unsigned char *color_bits, *mask_bits;
HBITMAP hbmColor = 0, hbmMask = 0; HBITMAP hbmColor = 0, hbmMask = 0;
@ -701,7 +701,7 @@ done:
* *
* Create an X cursor from a Windows one. * Create an X cursor from a Windows one.
*/ */
static Cursor create_xlib_cursor( HDC hdc, ICONINFO *icon, int width, int height ) static Cursor create_xlib_cursor( HDC hdc, const ICONINFOEXW *icon, int width, int height )
{ {
XColor fg, bg; XColor fg, bg;
Cursor cursor = None; Cursor cursor = None;
@ -831,13 +831,14 @@ static Cursor create_cursor( HANDLE handle )
{ {
Cursor cursor = 0; Cursor cursor = 0;
HDC hdc; HDC hdc;
ICONINFO info; ICONINFOEXW info;
BITMAP bm; BITMAP bm;
if (!handle) return get_empty_cursor(); if (!handle) return get_empty_cursor();
if (!(hdc = CreateCompatibleDC( 0 ))) return 0; if (!(hdc = CreateCompatibleDC( 0 ))) return 0;
if (!GetIconInfo( handle, &info )) info.cbSize = sizeof(info);
if (!GetIconInfoExW( handle, &info ))
{ {
DeleteDC( hdc ); DeleteDC( hdc );
return 0; return 0;