Module: wine Branch: master Commit: 47a2e96accb7f6decc0b3648201ff3ae46cc3734 URL: http://source.winehq.org/git/wine.git/?a=commit;h=47a2e96accb7f6decc0b364820...
Author: Vitaliy Margolen wine-patches@kievinfo.com Date: Wed Nov 29 17:54:06 2006 -0700
winemenubuilder: Look for supported color depths icons only.
---
programs/winemenubuilder/winemenubuilder.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index 8d56c85..078365c 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -363,7 +363,7 @@ static int ExtractFromICO(LPCWSTR szFile FILE *fICOFile; ICONDIR iconDir; ICONDIRENTRY *pIconDirEntry; - int nMax = 0; + int nMax = 0, nMaxBits = 0; int nIndex = 0; void *pIcon; int i; @@ -389,10 +389,12 @@ static int ExtractFromICO(LPCWSTR szFile goto error3;
for (i = 0; i < iconDir.idCount; i++) - if ((pIconDirEntry[i].bHeight * pIconDirEntry[i].bWidth) > nMax) + if (pIconDirEntry[i].wBitCount <= 8 && pIconDirEntry[i].wBitCount >= nMaxBits && + (pIconDirEntry[i].bHeight * pIconDirEntry[i].bWidth) >= nMax) { nIndex = i; nMax = pIconDirEntry[i].bHeight * pIconDirEntry[i].bWidth; + nMaxBits = pIconDirEntry[i].wBitCount; } if ((pIcon = HeapAlloc(GetProcessHeap(), 0, pIconDirEntry[nIndex].dwBytesInRes)) == NULL) goto error3;