Commit 7273f7dc authored by saari%netscape.com's avatar saari%netscape.com
Browse files

more cleaning

parent f6d54191
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -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;
}
+11 −8
Original line number Diff line number Diff line
@@ -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);
                  pnsMenu->SetWebShell(mWebShell);

                  // Set nsMenu Name
                  pnsMenu->SetLabel(menuName); 
                  // Make nsMenu a child of nsMenuBar
		  // nsMenuBar takes ownership of the nsMenu
                  pnsMenuBar->AddMenu(pnsMenu); 
		  // Set the WebShell
		  pnsMenu->SetWebShell(mWebShell);
		  
                  // Release the menu now that the menubar owns it
                  //NS_RELEASE(pnsMenu);
                  NS_RELEASE(pnsMenu);
                }
             } 

+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ nsMenuItem::nsMenuItem() : nsIMenuItem()
nsMenuItem::~nsMenuItem()
{
  NS_IF_RELEASE(mTarget);
  g_print("nsMenuItem::~nsMenuItem called\n");
}

//-------------------------------------------------------------------------