menu resource parsing question...

Chris Morgan cmorgan at
Sat Nov 2 20:07:08 CST 2002

Upon the testing of Kazaa lite I ran into numerous errors like:
err:menu:MENU_ParseResource not a string item, flags: 0x0800

These entries appear to be intended as separators and in fact the flag of 
0x800 is MF_SEPARATOR.  The code in question is :

        if (!IS_STRING_ITEM(flags))
            ERR("not a string item, flags: 0x%04x\n", flags );

Where IS_STRING_ITEM is a macro:
	#define IS_STRING_ITEM(flags) (MENU_ITEM_TYPE ((flags)) == MF_STRING)

#define MENU_ITEM_TYPE(flags) \

So, what appears to be occuring is that Kazaa is passing in MF_SEPARATOR as a 
flag and wine expects instead to get a MF_STRING with a string of null and in 
MENU_SetItemData() it does 'flags |= MF_SEPARATOR;'

I'm only posting to wine-devel because this check has been in the code since 
the initial import into cvs and I wanted to see if anyone knew more of the 
background on the issue.  The fix is pretty simple, just ignore the fact that 
IS_STRING_ITEM() returns false.  The rest should be taken care of by the 
existing checks.


More information about the wine-devel mailing list