MenuMgr Release Notes
First created on: 3/20/92 4:36:15 PM

----------------------------------------------------------•----------------------------------------------------------

3/20/92 4:36:23 PM

File: Language.h,4
Owner: Don Louv     
Project: MainProj∫Interfaces∫CIncludes∫

File: Packages.h,21
Owner: Don Louv     
Project: MainProj∫Interfaces∫CIncludes∫

File: Script.h,52
Owner: Don Louv     
Project: MainProj∫Interfaces∫CIncludes∫

File: Language.p,4
Owner: Don Louv     
Project: MainProj∫Interfaces∫PInterfaces∫

File: Packages.p,20
Owner: Don Louv     
Project: MainProj∫Interfaces∫PInterfaces∫

File: Script.p,50
Owner: Don Louv     
Project: MainProj∫Interfaces∫PInterfaces∫

File: MenuMgrPatches.c,9
Owner: Don Louv     
Project: MainProj∫ProcessMgr∫

File: MenuMgr.c,8
Owner: Don Louv     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1025005

> Release notes for this change:

Moving declarations in include files for the New Inside Mac.  And updated 2 files to follow the declarations they need.

> What was tested:

Built CUBE-E.

----------------------------------------------------------•----------------------------------------------------------
4/1/92 0:41:31

File: MenuMgr.c,11
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1024445

> Release notes for this change:

Special handling for FONT resources with ID 0 (Chicago).  The script code for this FONT is taken to always be smRoman and not the current system script.  This resulted in Chicago being added twice to Font menus.

> What was tested:

Tested under the Hebrew script system using KeyCaps.  Before the fix, Chicago appeared as the 1st menu item, AND with the normal Roman fonts.  With the fix, it only appears in the Roman set (as expected).

----------------------------------------------------------•----------------------------------------------------------
4/4/92 22:32:55

File: StandardMBDF.a,48
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1019367

> Release notes for this change:

Allow for a “slop” factor before system menus are dropped when application menus encroach on their space.  This space is configurable by the localizer (by setting the flags word of the MBDF).  The standard MBDF ships with this value equal to zero and thus has no change to its functionality with respect to System 7.0.

> What was tested:

MPW used to add menus to the menu bar until they “hit” the system menus.  Tested with just the Help menu and with Help and Keyboard menus.

----------------------------------------------------------•----------------------------------------------------------
4/22/92 11:13:15 AM

File: MenuMgr.c,12
Owner: Dean Yu     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1024445

> Release notes for this change:

The last fix to prevent Chicago from showing up in the View control panel menu when a
non-Roman script is the primary script didn’t work.  Move the line from the previous
checkin up above the line before it so that we can gaurantee the script code won’t match
if we’re trying to insert ‘FONT’ 0.

> What was tested:

Chicago does not show up in the Views control panel when Arabic is the primary script.
----------------------------------------------------------•----------------------------------------------------------
4/30/92 1:48:25 PM

File: StandardMBDF.a,49
Owner: Dean Yu     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1027995

> Release notes for this change:

TinyToons calls the standard menu bar definition procedure’s BannerMsg routine, which is
used by the Finder to draw the name of the launched application in the menu bar.
BannerMsg calls routines which expect a4 to point to a menu record, but BannerMsg does
not initialize a4.  Tiny Toons has garbage in a4, so the MBDF will bus error when it
tries to reference something off of a4.  Changed the BannerMsg routine to initialize a4
to 0, since the menu bar doesn’t have a menu record, anyway.  Added a check for nil in
the SetTitleColor routine, which is where the crash occured.  If a4 is nil, the reference
to the offset that causes the crash is skipped.

> What was tested:

Watched Finder’s call to BannerMsg, and stepped through the code to make sure that the
code that caused the crash is not executed any more.  This, by the way, saves a call to
_GetMCEntry, which saves a few cycles when an application is launched.
----------------------------------------------------------•----------------------------------------------------------
5/14/92 12:20:41

File: MenuMgr.a,27
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

File: SystemMenusPatch.a,12
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1029927

> Release notes for this change:

Roll out changes made to the Menu Manager files by the SuperMario team - back to the 7.01 versions.

> What was tested:

N/A - they worked before, the changes were organizational and not functional.

----------------------------------------------------------•----------------------------------------------------------
5/14/92 12:48:18

File: MenuMgr.a,28
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

File: MenuMgrPatch.a,15
Owner: Kevin MacDonell     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1028474

> Release notes for this change:

Two items:  The first was to fix the above bug - MenuKey is slow on two-byte systems as a result of upgrading to using SCUpperText over the old UprString.  MenuKey was upper-casing the command key even when there wasn’t one (i.e., the command key was the ASCII character NULL).  This was quite inefficient since the common case is there is no command key.  On the Plus/SE I fixed the internal loop in MenuKey, on other ROMs, I updated the existing patch on _UprString to check for this case and skip calling SCUpperText when appropriate.

The second item (Bug #1026551) is a patch on DrawMenuBar to synchronize the Keyboard Menu which is half of the fix for this bug.  Sue is implementing the other half of the fix in the ScriptMgr.  We created a new, private KeyScript verb to accomplish this.

> What was tested:

Linked patch INIT version of these changes were made and tested.

----------------------------------------------------------•----------------------------------------------------------
7/6/92 3:28:17 PM

File: MenuMgrPatchII.a,10
Owner: Dean Yu     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1034303

> Release notes for this change:

It’s entirely possible that the standard menu definition procedure can be called again by
the Menu Manager before it’s exited the first time.  On the Mac II, the Menu Manager will
lock the ‘MDEF’, call it, then unlock it.  However, if the ‘MDEF’ was the one that called
the Menu Manager, the ‘MDEF’ is now unlocked, and if it makes a subsequent toolbox call
that moves memory, it will move out from under itself, and most problably crash with an
illegal instruction.  Since the Menu Manager is almost entirely patched out on the Mac
II, change the routine DrawFirstItem which does this locking and unlocking so that it
saves the state of the handle, locks it, calls the ‘MDEF’, and restores the previous
state of the handle.  By doing this, if the ‘MDEF’ was locked coming into this routine,
it will stay locked.

> What was tested:

In FreeHand, under low memory conditions, Standard File will crash while drawing the pop
up part because the ‘MDEF’ moved out from underneath itself.  With this change (which
Kevin and Gil checked out in the compatibility lab), Standard File no longer crashes.
----------------------------------------------------------•----------------------------------------------------------
7/24/92 6:23:33 PM

File: MenuMgrPatch.a,16
Owner: Dean Yu     
Project: MainProj∫Toolbox∫MenuMgr∫

Radar bug: #1034303

> Release notes for this change:

The Menu Manager calls the ‘MDEF’ with the CallMDEF utility routine.  This routine locks
the ‘MDEF’, calls it, unlocks it upon return, and returns to the caller.  CalcMenuSize is
an example of such a routine.  The problem is that the ‘MDEF’ calls CalcMenuSize itself,
which causes the ‘MDEF’ to get unlocked while it’s still executing.  If the ‘MDEF’ handle
get relocated by the Memory Manager, you’ll crash.  Bracket calls to CalcMenuSize with
code that saves and restores the ‘MDEF’ handle state.


> What was tested:

Verified that the ‘MDEF’ was still locked after it called CalcMenuSize.
----------------------------------------------------------•----------------------------------------------------------
11/5/93 10:01:57 AM

File: Displays.a,9     
Owner: Ian Hendry     
Project: SuperMarioProj∫Interfaces∫AIncludes∫

File: Displays.h,10     
Owner: Ian Hendry     
Project: SuperMarioProj∫Interfaces∫CIncludes∫

File: Quickdraw.h,6     
Owner: Ian Hendry     
Project: SuperMarioProj∫Interfaces∫CIncludes∫

File: SysEqu.h,5     
Owner: Ian Hendry     
Project: SuperMarioProj∫Interfaces∫CIncludes∫

File: Video.h,6     
Owner: Ian Hendry     
Project: SuperMarioProj∫Interfaces∫CIncludes∫

File: DisplaysPriv.a,11     
Owner: Ian Hendry     
Project: SuperMarioProj∫Internal∫Asm∫

File: DisplaysPriv.h,14     
Owner: Ian Hendry     
Project: SuperMarioProj∫Internal∫C∫

File: DisplayMgr.a,12     
Owner: Ian Hendry     
Project: SuperMarioProj∫Toolbox∫DisplayMgr∫

File: DisplayMgr.c,20     
Owner: Ian Hendry     
Project: SuperMarioProj∫Toolbox∫DisplayMgr∫

File: DisplayMgrOverlap.c,2     
Owner: Ian Hendry     
Project: SuperMarioProj∫Toolbox∫DisplayMgr∫

File: DisplayMgrUtils.c,11     
Owner: Ian Hendry     
Project: SuperMarioProj∫Toolbox∫DisplayMgr∫

File: MenuMgr.a,20     
Owner: Ian Hendry     
Project: SuperMarioProj∫Toolbox∫MenuMgr∫

Radar bug: 

> Release notes for this change:

Rolled in Excelsior changes for PDM ROM.

> What was tested:

Built and booted a RISC ROM on coldfusion.
----------------------------------------------------------•----------------------------------------------------------
