over the weekend i worked on a few patches to address some fixmes in e_menu.c. there had been some issues due to the fact that while active menus were tracked in e_menu.c, THE active menu was not -- nor was THE active menu item -- which meant that any code that had to find such objects had to perform linear searches through the active menu list. this patch allows e_menu.c to track the active menu, and allows each menu to track a particular active menu item, thus dispelling the need for those searches.
i tested this by generally going crazy with menus, mousing around, selecting things -- things work for me. give it a try.
e_menu.c.patch
Description: Binary data
e_menu.h.patch
Description: Binary data