The new menu initialization code would also add the SIOUX menus if a (frozen) Python program had installed its own menubar previously. We now guard against this, with a bit of a hack: FrameWork uses the same Menu ID as Sioux, and the init code checks that the text in the menu is "About SIOUX" before replacing it.

This commit is contained in:
Jack Jansen 2001-12-10 16:08:14 +00:00
parent 1d961f5e5f
commit 52306a780b
2 changed files with 15 additions and 6 deletions

View file

@ -720,6 +720,8 @@ void
PyMac_InitMenuBar()
{
MenuHandle applemenu;
Str255 about_text;
static unsigned char about_sioux[] = "\pAbout SIOUX";
if ( sioux_mbar ) return;
#if 0
@ -737,7 +739,10 @@ PyMac_InitMenuBar()
return;
}
if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
SetMenuItemText(applemenu, 1, "\pAbout Python...");
GetMenuItemText(applemenu, 1, about_text);
if ( about_text[0] == about_sioux[0] &&
strncmp((char *)(about_text+1), (char *)(about_sioux+1), about_text[0]) == 0 )
SetMenuItemText(applemenu, 1, "\pAbout Python...");
}
/*