Menu selection algorithm

Shachar Shemesh wine-devel at
Fri Nov 22 09:02:38 CST 2002

Hi list,

Sorry if this is slightly off topic.

I am having some trouble with a sample program I keep changing to death. 
This program is written in VC on Windows 2000, and being run on Wine as 
well. I added a Hebrew menu over an already existing English(US) one. My 
regional settings say that my global settings are Hebrew, as are my 
local settings. The two menus both have the same ID, and only the 
language is different between them. When VC's resource editor displays 
the menus, it displays one with (English U.S) appended, and the Hebrew 
one without any extension (implying it thinks this is the default one).

So, what's the problem - you ask? While my view of what should happen is 
obviously consistant with that of Wine's - i.e. - the locale should 
select which menu to use, Windows displays the English locale ONLY. The 
only way I could make it display the Hebrew one was by changing the 
language on the English one to something else (French).

Wine behaves as expected. running:
wine TestApp
Yields an english menu, while
LANG=he_IL wine TestApp
yields a Hebrew one.

I wouldn't worry so much, except that since we define a bug in Wine as 
any inconsistancy with Windows, this is a bug. I'm mostly trying to 
understand why Windows won't do what it's supposed to do, however.

I'm using "RegisterClass" to register a class with the menu identifier 
passed using "MAKEINTRESOURCE", and then just calling "CreateWindow" to 
create the window.

Anyone has any ideas or suggestions, or just an opinion whether that 
should worry us at all?


More information about the wine-devel mailing list