diff -r e2fd132ab781 -r 7a36f91c22f7 ui/cocoa/menu.m --- a/ui/cocoa/menu.m Mon Mar 31 20:22:16 2014 +0200 +++ b/ui/cocoa/menu.m Tue Apr 01 11:50:32 2014 +0200 @@ -173,12 +173,9 @@ } int ui_update_item_list(UiCocoaWindow *window, void *data) { - printf("update list\n"); - UiMenuItemList *itemList = data; UiList *list = itemList->list; - printf("oldcount: %d\n", itemList->oldcount); for(int r=0;roldcount;r++) { [itemList->menu removeItemAtIndex:itemList->index]; } @@ -187,13 +184,19 @@ int i = itemList->index; [itemList->menu insertItem: [NSMenuItem separatorItem] atIndex: i]; i++; - do { + while(str) { + EventWrapper *event = [[EventWrapper alloc]initWithData:itemList->data callback:itemList->callback]; + [event setIntval: i - itemList->index - 1]; + NSString *title = [[NSString alloc] initWithUTF8String:str]; - NSMenuItem *item = [[NSMenuItem alloc]initWithTitle:title action:@selector(handleStateEvent:) keyEquivalent:@""]; + NSMenuItem *item = [[NSMenuItem alloc]initWithTitle:title action:@selector(handleEvent:) keyEquivalent:@""]; + [item setTarget:event]; [itemList->menu insertItem:item atIndex:i]; + + str = ui_list_next(list); i++; - } while ((str = ui_list_next(list))); + } itemList->oldcount = i - itemList->index;