Module: wine Branch: master Commit: 550e53b6bb685e806ccce392c6c6acb52cd17a2d URL: http://source.winehq.org/git/wine.git/?a=commit;h=550e53b6bb685e806ccce392c6...
Author: Alexandre Julliard julliard@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; }