Vitaliy Margolen : winemenubuilder: Look for supported color depths icons only.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 30 13:41:04 CST 2006


Module: wine
Branch: master
Commit: 47a2e96accb7f6decc0b3648201ff3ae46cc3734
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=47a2e96accb7f6decc0b3648201ff3ae46cc3734

Author: Vitaliy Margolen <wine-patches at 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;




More information about the wine-cvs mailing list