I'm creating a pop up menu programmatically and updating it with the delegate method menuNeedsUpdate:(NSMenu *) menu and then displaying it using the popUpMenuPositioningItem:nil atLocation:mouseLoc inView:nil method.
It works fine as far as mouse control is concerned. However, when using the keyboard (letters or arrow keys), I've noticed that it calls menuNeedsUpdate: for everything, the root menu and submenus. This is quite inefficient and makes using the menu via the keyboard sluggish.
Why is this happening? Any way to circumvent it or stop it?