diff -ru2 include_original/atlapp.h include/atlapp.h --- include_original/atlapp.h 2002-03-29 04:26:36.000000000 +0000 +++ include/atlapp.h 2003-04-16 15:45:42.000000000 +0100 @@ -178,4 +178,17 @@ } +// NT4 MENUITEMINFO Fix +inline size_t sizeofMENUITEMINFO() +{ + static bool bChecked = false; + static size_t theSize = 0; + if(!bChecked) + { + theSize = ( AtlIsOldWindows() ? 44 : sizeof(MENUITEMINFO) ); + bChecked = true; + } + return theSize; +} + // default GUI font helper inline HFONT AtlGetDefaultGuiFont() diff -ru2 include_original/atlframe.h include/atlframe.h --- include_original/atlframe.h 2002-03-29 04:26:36.000000000 +0000 +++ include/atlframe.h 2003-04-16 15:43:41.000000000 +0100 @@ -2271,5 +2271,5 @@ MENUITEMINFO mii; memset(&mii, 0, sizeof(MENUITEMINFO)); - mii.cbSize = sizeof(MENUITEMINFO); + mii.cbSize = sizeofMENUITEMINFO(); // NT4 MENUITEMINFO Fix mii.fMask = MIIM_STATE; mii.wID = nID; @@ -2292,5 +2292,5 @@ MENUITEMINFO miiNow; memset(&miiNow, 0, sizeof(MENUITEMINFO)); - miiNow.cbSize = sizeof(MENUITEMINFO); + miiNow.cbSize = sizeofMENUITEMINFO(); // NT4 MENUITEMINFO Fix miiNow.fMask = MIIM_TYPE; miiNow.wID = nID; diff -ru2 include_original/atlmisc.h include/atlmisc.h --- include_original/atlmisc.h 2002-04-03 02:43:00.000000000 +0100 +++ include/atlmisc.h 2003-04-16 15:44:16.000000000 +0100 @@ -2870,5 +2870,5 @@ { MENUITEMINFO mi; - mi.cbSize = sizeof(MENUITEMINFO); + mi.cbSize = sizeofMENUITEMINFO(); mi.fMask = MIIM_ID; ::GetMenuItemInfo(m_hMenu, nInsertPoint, TRUE, &mi); diff -ru2 include_original/atluser.h include/atluser.h --- include_original/atluser.h 2002-03-29 04:26:36.000000000 +0000 +++ include/atluser.h 2003-04-16 15:44:57.000000000 +0100 @@ -98,5 +98,5 @@ { memset(this, 0, sizeof(MENUITEMINFO)); - cbSize = sizeof(MENUITEMINFO); + cbSize = sizeofMENUITEMINFO(); // NT4 MENUITEMINFO Fix } };