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); }