Ref: 08040033
Title: 3+Menus 1.1 & 1.2 memory usage -- Out of memory
Date:  07-21-88

Copyright 3Com Corporation, 1991.  All rights reserved.

The out of memory condition occurs when 3+Menus consumes all the
64 KB it allocates itself (we remain small data model in Lattice
C).  The amount of memory in the machine becomes relevant only if
3+Menus gloms onto less than 64 KB and also runs out of memory.

This should be fixed in 3+Menus 1.2.  In 1.0 and 1.1, the way we
coded menu item definitions was piggybacked on RAM: we took 1 KB out of
the 64 KB pool for every menu item visible on the screen (for
every menu or submenu that is open,  count the menu items, except
for the standard menu items on the main menu, and multiply by 1
KB -- I doubt you can get as high as 20).  We also needed 35 or
more KB for standard menu data structures.  So anyone who built
up very many menu items on the main menu got the error.  For 1.2,
we only use about 50 bytes, so there should be no practical
limits on menu construction.

In the meantime, avoid this condition by restructuring menus into
more submenus, with fewer menu items on each.  This can be tricky
-- if you get too many submenus on the main menu, you run into
the same condition again.  You need a fuller tree of menus, with
several submenus on the main menu, and then each submenu having
only a few menu items.
