зеркало из https://github.com/mozilla/gecko-dev.git
more cleaning
This commit is contained in:
Родитель
f6d54191ac
Коммит
7273f7dc49
|
@ -99,10 +99,10 @@ nsMenu::nsMenu() : nsIMenu()
|
|||
//-------------------------------------------------------------------------
|
||||
nsMenu::~nsMenu()
|
||||
{
|
||||
g_print("nsMenu::~nsMenu called\n");
|
||||
g_print("nsMenu::~nsMenu() called\n");
|
||||
NS_IF_RELEASE(mListener);
|
||||
// Free our menu items
|
||||
//RemoveAll();
|
||||
RemoveAll();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -213,9 +213,13 @@ NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
|
|||
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
|
||||
|
||||
// XXX add aMenuItem to internal data structor list
|
||||
NS_IF_ADDREF(aMenuItem);
|
||||
mMenuItemVoidArray.AppendElement(aMenuItem);
|
||||
// Need to be adding an nsISupports *, not nsIMenuItem *
|
||||
nsISupports * supports = nsnull;
|
||||
aMenuItem->QueryInterface(kISupportsIID, (void**)&supports);
|
||||
{
|
||||
mMenuItemVoidArray.AppendElement(supports);
|
||||
mNumMenuItems++;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -91,7 +91,6 @@ nsMenuBar::nsMenuBar() : nsIMenuBar(), nsIMenuListener()
|
|||
//-------------------------------------------------------------------------
|
||||
nsMenuBar::~nsMenuBar()
|
||||
{
|
||||
g_print("nsMenuBar::~nsMenuBar() called\n");
|
||||
// Release the menus
|
||||
RemoveAll();
|
||||
}
|
||||
|
@ -198,7 +197,12 @@ NS_METHOD nsMenuBar::RemoveAll()
|
|||
//}
|
||||
NS_RELEASE(menu);
|
||||
|
||||
((nsISupports*)mMenusVoidArray[i-1])->Release();
|
||||
g_print("menu release \n");
|
||||
int num =((nsISupports*)mMenusVoidArray[i-1])->Release();
|
||||
while(num) {
|
||||
g_print("menu release again!\n");
|
||||
num = ((nsISupports*)mMenusVoidArray[i-1])->Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -288,18 +292,17 @@ nsEventStatus nsMenuBar::MenuConstruct(
|
|||
pnsMenu->Create(supports, menuName);
|
||||
NS_RELEASE(supports);
|
||||
|
||||
pnsMenu->SetLabel(menuName);
|
||||
pnsMenu->SetDOMNode(menuNode);
|
||||
pnsMenu->SetDOMElement(menuElement);
|
||||
|
||||
// Set nsMenu Name
|
||||
pnsMenu->SetLabel(menuName);
|
||||
// Make nsMenu a child of nsMenuBar
|
||||
pnsMenuBar->AddMenu(pnsMenu);
|
||||
// Set the WebShell
|
||||
pnsMenu->SetWebShell(mWebShell);
|
||||
|
||||
// Make nsMenu a child of nsMenuBar
|
||||
// nsMenuBar takes ownership of the nsMenu
|
||||
pnsMenuBar->AddMenu(pnsMenu);
|
||||
|
||||
// Release the menu now that the menubar owns it
|
||||
//NS_RELEASE(pnsMenu);
|
||||
NS_RELEASE(pnsMenu);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,6 +98,7 @@ nsMenuItem::nsMenuItem() : nsIMenuItem()
|
|||
nsMenuItem::~nsMenuItem()
|
||||
{
|
||||
NS_IF_RELEASE(mTarget);
|
||||
g_print("nsMenuItem::~nsMenuItem called\n");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
|
Загрузка…
Ссылка в новой задаче