Bug 398362 First menuitem is not selected when opening a menu for the first time r=enndeakin sr=bzbarsky

This commit is contained in:
2008-01-01 21:33:30 -08:00
parent 0b8061f956
commit 088223b32c
3 changed files with 13 additions and 5 deletions

View File

@@ -526,18 +526,19 @@ LazyGeneratePopupDone(nsIContent* aPopup, nsIFrame* aFrame, void* aArg)
nsWeakFrame weakFrame(aFrame);
nsMenuPopupFrame* popupFrame = static_cast<nsMenuPopupFrame*>(aFrame);
popupFrame->SetGeneratedChildren();
nsXULPopupManager* pm = nsXULPopupManager::GetInstance();
if (pm && popupFrame->IsMenu()) {
nsCOMPtr<nsIContent> popup = aPopup;
pm->UpdateMenuItems(popup);
if (!weakFrame.IsAlive())
return;
PRBool selectFirstItem = (PRBool)NS_PTR_TO_INT32(aArg);
if (selectFirstItem) {
nsMenuFrame* next = pm->GetNextMenuItem(popupFrame, nsnull, PR_TRUE);
popupFrame->SetCurrentMenuItem(next);
}
pm->UpdateMenuItems(popup);
}
if (weakFrame.IsAlive()) {