зеркало из https://github.com/mozilla/pjs.git
fixing a release bug for Pavlov
This commit is contained in:
Родитель
fa49382793
Коммит
72d1c21cbd
|
@ -100,7 +100,7 @@ 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();
|
||||
|
@ -307,7 +307,7 @@ NS_METHOD nsMenu::GetItemCount(PRUint32 &aCount)
|
|||
{
|
||||
// this should be right.. does it need to be +1 ?
|
||||
aCount = g_list_length(GTK_MENU_SHELL(mMenu)->children);
|
||||
g_print("nsMenu::GetItemCount = %i\n", aCount);
|
||||
//g_print("nsMenu::GetItemCount = %i\n", aCount);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -352,6 +352,7 @@ NS_METHOD nsMenu::RemoveItem(const PRUint32 aPos)
|
|||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::RemoveAll()
|
||||
{
|
||||
//g_print("nsMenu::RemoveAll()\n");
|
||||
#if 0
|
||||
// this doesn't work quite right, but this is about all that should really be needed
|
||||
int i=0;
|
||||
|
@ -368,10 +369,12 @@ NS_METHOD nsMenu::RemoveAll()
|
|||
if (NS_OK == item->QueryInterface(kIMenuItemIID, (void**)&menuitem)) {
|
||||
// we do this twice because we have to do it once for QueryInterface,
|
||||
// then we want to get rid of it.
|
||||
//g_print("remove nsMenuItem\n");
|
||||
NS_RELEASE(menuitem);
|
||||
NS_RELEASE(item);
|
||||
menuitem = nsnull;
|
||||
} else if (NS_OK == item->QueryInterface(kIMenuIID, (void**)&menu)) {
|
||||
//g_print("remove nsMenu\n");
|
||||
NS_RELEASE(menu);
|
||||
NS_RELEASE(item);
|
||||
menu = nsnull;
|
||||
|
@ -406,7 +409,7 @@ NS_METHOD nsMenu::RemoveAll()
|
|||
menu->GetNativeData(>kmenu);
|
||||
|
||||
if(gtkmenu){
|
||||
g_print("gtkmenu removed");
|
||||
//g_print("gtkmenu removed");
|
||||
|
||||
//gtk_menu_item_remove_submenu (GTK_MENU_ITEM (item));
|
||||
}
|
||||
|
@ -416,6 +419,7 @@ NS_METHOD nsMenu::RemoveAll()
|
|||
}
|
||||
}
|
||||
#endif
|
||||
//g_print("end RemoveAll\n");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -490,7 +494,7 @@ nsEventStatus nsMenu::MenuConstruct(const nsMenuEvent & aMenuEvent,
|
|||
void * menuNode,
|
||||
void * aWebShell)
|
||||
{
|
||||
g_print("nsMenu::MenuConstruct called \n");
|
||||
//g_print("nsMenu::MenuConstruct called \n");
|
||||
if(menuNode){
|
||||
SetDOMNode((nsIDOMNode*)menuNode);
|
||||
}
|
||||
|
@ -537,7 +541,7 @@ nsEventStatus nsMenu::MenuConstruct(const nsMenuEvent & aMenuEvent,
|
|||
//-------------------------------------------------------------------------
|
||||
nsEventStatus nsMenu::MenuDestruct(const nsMenuEvent & aMenuEvent)
|
||||
{
|
||||
g_print("nsMenu::MenuDestruct called \n");
|
||||
//g_print("nsMenu::MenuDestruct called \n");
|
||||
mConstructCalled = PR_FALSE;
|
||||
RemoveAll();
|
||||
return nsEventStatus_eIgnore;
|
||||
|
|
|
@ -98,10 +98,11 @@ nsMenuItem::nsMenuItem() : nsIMenuItem()
|
|||
//-------------------------------------------------------------------------
|
||||
nsMenuItem::~nsMenuItem()
|
||||
{
|
||||
NS_IF_RELEASE(mTarget);
|
||||
//g_print("nsMenuItem::~nsMenuItem called\n");
|
||||
//NS_IF_RELEASE(mTarget);
|
||||
gtk_widget_destroy(mMenuItem);
|
||||
mMenuItem = nsnull;
|
||||
g_print("nsMenuItem::~nsMenuItem called\n");
|
||||
//g_print("end nsMenuItem::~nsMenuItem\n");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -299,10 +300,10 @@ NS_METHOD nsMenuItem::IsSeparator(PRBool & aIsSep)
|
|||
nsEventStatus nsMenuItem::MenuItemSelected(const nsMenuEvent & aMenuEvent)
|
||||
{
|
||||
if(!mIsSeparator) {
|
||||
g_print("nsMenuItem::MenuItemSelected\n");
|
||||
//g_print("nsMenuItem::MenuItemSelected\n");
|
||||
DoCommand();
|
||||
}else{
|
||||
g_print("nsMenuItem::MenuItemSelected is separator\n");
|
||||
//g_print("nsMenuItem::MenuItemSelected is separator\n");
|
||||
}
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
|
@ -312,13 +313,13 @@ nsEventStatus nsMenuItem::MenuSelected(const nsMenuEvent & aMenuEvent)
|
|||
if(mXULCommandListener)
|
||||
return mXULCommandListener->MenuSelected(aMenuEvent);
|
||||
|
||||
g_print("nsMenuItem::MenuSelected\n");
|
||||
//g_print("nsMenuItem::MenuSelected\n");
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
nsEventStatus nsMenuItem::MenuDeselected(const nsMenuEvent &aMenuEvent)
|
||||
{
|
||||
g_print("nsMenuItem::MenuDeselected\n");
|
||||
//g_print("nsMenuItem::MenuDeselected\n");
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -327,13 +328,13 @@ nsEventStatus nsMenuItem::MenuConstruct(const nsMenuEvent &aMenuEvent,
|
|||
void *menuNode,
|
||||
void *aWebShell)
|
||||
{
|
||||
g_print("nsMenuItem::MenuConstruct\n");
|
||||
//g_print("nsMenuItem::MenuConstruct\n");
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
nsEventStatus nsMenuItem::MenuDestruct(const nsMenuEvent &aMenuEvent)
|
||||
{
|
||||
g_print("nsMenuItem::MenuDestruct\n");
|
||||
//g_print("nsMenuItem::MenuDestruct\n");
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
|
||||
|
@ -365,14 +366,14 @@ NS_METHOD nsMenuItem::DoCommand()
|
|||
contentViewerContainer = do_QueryInterface(mWebShell);
|
||||
if (!contentViewerContainer) {
|
||||
NS_ERROR("Webshell doesn't support the content viewer container interface");
|
||||
g_print("Webshell doesn't support the content viewer container interface");
|
||||
//g_print("Webshell doesn't support the content viewer container interface");
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIContentViewer> contentViewer;
|
||||
if (NS_FAILED(rv = contentViewerContainer->GetContentViewer(getter_AddRefs(contentViewer)))) {
|
||||
NS_ERROR("Unable to retrieve content viewer.");
|
||||
g_print("Unable to retrieve content viewer.");
|
||||
//g_print("Unable to retrieve content viewer.");
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -380,14 +381,14 @@ NS_METHOD nsMenuItem::DoCommand()
|
|||
docViewer = do_QueryInterface(contentViewer);
|
||||
if (!docViewer) {
|
||||
NS_ERROR("Document viewer interface not supported by the content viewer.");
|
||||
g_print("Document viewer interface not supported by the content viewer.");
|
||||
//g_print("Document viewer interface not supported by the content viewer.");
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPresContext> presContext;
|
||||
if (NS_FAILED(rv = docViewer->GetPresContext(*getter_AddRefs(presContext)))) {
|
||||
NS_ERROR("Unable to retrieve the doc viewer's presentation context.");
|
||||
g_print("Unable to retrieve the doc viewer's presentation context.");
|
||||
//g_print("Unable to retrieve the doc viewer's presentation context.");
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -400,12 +401,12 @@ NS_METHOD nsMenuItem::DoCommand()
|
|||
contentNode = do_QueryInterface(mDOMElement);
|
||||
if (!contentNode) {
|
||||
NS_ERROR("DOM Node doesn't support the nsIContent interface required to handle DOM events.");
|
||||
g_print("DOM Node doesn't support the nsIContent interface required to handle DOM events.");
|
||||
//g_print("DOM Node doesn't support the nsIContent interface required to handle DOM events.");
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = contentNode->HandleDOMEvent(*presContext, &event, nsnull, NS_EVENT_FLAG_INIT, status);
|
||||
g_print("HandleDOMEvent called");
|
||||
//g_print("HandleDOMEvent called");
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче