Alexandre Julliard : user32: Prefer loading color cursors in LoadImage.
Alexandre Julliard
julliard at winehq.org
Tue Feb 12 13:58:12 CST 2013
Module: wine
Branch: master
Commit: 550e53b6bb685e806ccce392c6c6acb52cd17a2d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=550e53b6bb685e806ccce392c6c6acb52cd17a2d
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Feb 12 13:56:41 2013 +0100
user32: Prefer loading color cursors in LoadImage.
---
dlls/user32/cursoricon.c | 18 ++++++++----------
1 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index 5b21101..df11f56 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -2619,6 +2619,8 @@ HANDLE WINAPI LoadImageA( HINSTANCE hinst, LPCSTR name, UINT type,
HANDLE WINAPI LoadImageW( HINSTANCE hinst, LPCWSTR name, UINT type,
INT desiredx, INT desiredy, UINT loadflags )
{
+ int depth;
+
TRACE_(resource)("(%p,%s,%d,%d,%d,0x%08x)\n",
hinst,debugstr_w(name),type,desiredx,desiredy,loadflags);
@@ -2628,18 +2630,14 @@ HANDLE WINAPI LoadImageW( HINSTANCE hinst, LPCWSTR name, UINT type,
return BITMAP_Load( hinst, name, desiredx, desiredy, loadflags );
case IMAGE_ICON:
- if (!screen_dc) screen_dc = CreateDCW( DISPLAYW, NULL, NULL, NULL );
- if (screen_dc)
+ case IMAGE_CURSOR:
+ depth = 1;
+ if (!(loadflags & LR_MONOCHROME))
{
- return CURSORICON_Load(hinst, name, desiredx, desiredy,
- GetDeviceCaps(screen_dc, BITSPIXEL),
- FALSE, loadflags);
+ if (!screen_dc) screen_dc = CreateDCW( DISPLAYW, NULL, NULL, NULL );
+ if (screen_dc) depth = GetDeviceCaps( screen_dc, BITSPIXEL );
}
- break;
-
- case IMAGE_CURSOR:
- return CURSORICON_Load(hinst, name, desiredx, desiredy,
- 1, TRUE, loadflags);
+ return CURSORICON_Load(hinst, name, desiredx, desiredy, depth, (type == IMAGE_CURSOR), loadflags);
}
return 0;
}
More information about the wine-cvs
mailing list