winemenubuilder: Fix an off-by-one check that resulted in erroneous error messages.

Francois Gouget fgouget at codeweavers.com
Wed Mar 11 11:16:41 CDT 2009


---

EnumResNameProc() still decreases nIndex by one when it is zero. So when 
we find an icon by its position, EnumResourceNamesW() returns false, and 
nIndex is -1. Anything else means we could not find the icon.


 programs/winemenubuilder/winemenubuilder.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index f5f7ec0..69303c7 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -480,7 +480,7 @@ static BOOL extract_icon32(LPCWSTR szFileName, int nIndex, char *szXPMFileName)
         sEnumRes.nIndex = nIndex;
         if (!EnumResourceNamesW(hModule, (LPCWSTR)RT_GROUP_ICON,
                                 EnumResNameProc, (LONG_PTR)&sEnumRes) &&
-            sEnumRes.nIndex != 0)
+            sEnumRes.nIndex != -1)
         {
             WINE_TRACE("EnumResourceNamesW failed, error %d\n", GetLastError());
         }
-- 
1.6.1.3




More information about the wine-patches mailing list