diff options
author | Ben Murdoch <benm@google.com> | 2011-01-07 14:18:56 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-01-11 10:23:13 +0000 |
commit | 201ade2fbba22bfb27ae029f4d23fca6ded109a0 (patch) | |
tree | b793f4ed916f73cf18357ea467ff3deb5ffb5b52 /webkit/glue/webmenurunner_mac.mm | |
parent | d8c4c37a7d0961944bfdfaa117d5c68c8e129c97 (diff) | |
download | external_chromium-201ade2fbba22bfb27ae029f4d23fca6ded109a0.zip external_chromium-201ade2fbba22bfb27ae029f4d23fca6ded109a0.tar.gz external_chromium-201ade2fbba22bfb27ae029f4d23fca6ded109a0.tar.bz2 |
Merge chromium at 9.0.597.55: Initial merge by git.
Change-Id: Id686a88437441ec7e17abb3328a404c7b6c3c6ad
Diffstat (limited to 'webkit/glue/webmenurunner_mac.mm')
-rw-r--r-- | webkit/glue/webmenurunner_mac.mm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/webkit/glue/webmenurunner_mac.mm b/webkit/glue/webmenurunner_mac.mm index b7e48ba..3e1376a 100644 --- a/webkit/glue/webmenurunner_mac.mm +++ b/webkit/glue/webmenurunner_mac.mm @@ -91,8 +91,7 @@ BOOL gNewNSMenuAPI; attributes:attrs]); [menuItem setAttributedTitle:attrTitle]; } - if (gNewNSMenuAPI) - [menuItem setTag:[menu_ numberOfItems] - 1]; + [menuItem setTag:[menu_ numberOfItems] - 1]; } // Reflects the result of the user's interaction with the popup menu. If NO, the @@ -113,8 +112,13 @@ BOOL gNewNSMenuAPI; withBounds:(NSRect)bounds initialIndex:(int)index { if (gNewNSMenuAPI) { - NSMenuItem* selectedItem = [menu_ itemAtIndex:index]; - [selectedItem setState:NSOnState]; + // index might be out of bounds, in which case we set no selection. + NSMenuItem* selectedItem = [menu_ itemWithTag:index]; + if (selectedItem) { + [selectedItem setState:NSOnState]; + } else { + selectedItem = [menu_ itemWithTag:0]; + } NSPoint anchor = NSMakePoint(NSMinX(bounds) + kPopupXOffset, NSMaxY(bounds)); [menu_ popUpMenuPositioningItem:selectedItem @@ -128,7 +132,9 @@ BOOL gNewNSMenuAPI; pullsDown:NO]; [button autorelease]; [button setMenu:menu_]; - [button selectItemAtIndex:index]; + // We use selectItemWithTag below so if the index is out-of-bounds nothing + // bad happens. + [button selectItemWithTag:index]; [button setFont:[NSFont menuFontOfSize:fontSize_]]; // Create a dummy view to associate the popup with, since the OS will use |