Mercurial > dwindows
changeset 1593:19af25f71e1f
Yet another fix attempt for mene item issues on Mac 10.5.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 18 Feb 2012 20:45:51 +0000 |
parents | 1795bd78207d |
children | 6baf177f335c |
files | mac/dw.m |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mac/dw.m Tue Feb 14 00:33:49 2012 +0000 +++ b/mac/dw.m Sat Feb 18 20:45:51 2012 +0000 @@ -935,8 +935,20 @@ } -(void)setMenu:(NSMenu *)input { windowmenu = input; [windowmenu retain]; } -(void)menuHandler:(id)sender -{ - [DWObj performSelector:@selector(menuHandler:) withObject:sender afterDelay:0]; +{ + id menu = [sender menu]; + + /* Find the highest menu for this item */ + while([menu supermenu]) + { + menu = [menu supermenu]; + } + + /* Only perform the delay if this item is a child of the main menu */ + if([DWApp mainMenu] == menu) + [DWObj performSelector:@selector(menuHandler:) withObject:sender afterDelay:0]; + else + [DWObj menuHandler:sender]; _dw_wakeup_app(); } -(void)mouseDragged:(NSEvent *)theEvent { _event_handler(self, theEvent, 5); }