fixed 2 string memory leaks (bug #15380). r=saari

This commit is contained in:
beard%netscape.com 1999-10-15 03:57:45 +00:00
parent b3928cdd07
commit b4206fabd2

View File

@ -343,7 +343,9 @@ NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
mNumMenuItems++; mNumMenuItems++;
if(mIsHelpMenu) { if(mIsHelpMenu) {
::InsertMenuItem(mMacMenuHandle, c2pstr(label.ToNewCString()), mMenuItemVoidArray.Count()); char labelStr[256];
::InsertMenuItem(mMacMenuHandle, c2pstr(label.ToCString(labelStr, sizeof(labelStr))),
mMenuItemVoidArray.Count());
} else { } else {
::InsertMenuItem(mMacMenuHandle, "\pa", mMenuItemVoidArray.Count()); ::InsertMenuItem(mMacMenuHandle, "\pa", mMenuItemVoidArray.Count());
NSStringSetMenuItemText(mMacMenuHandle, mMenuItemVoidArray.Count(), label); NSStringSetMenuItemText(mMacMenuHandle, mMenuItemVoidArray.Count(), label);
@ -354,8 +356,9 @@ NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
aMenuItem->GetShortcutChar(keyEquivalent); aMenuItem->GetShortcutChar(keyEquivalent);
if(keyEquivalent != " ") { if(keyEquivalent != " ") {
keyEquivalent.ToUpperCase(); keyEquivalent.ToUpperCase();
char* foo = keyEquivalent.ToNewCString(); char keyStr[2];
short inKey = foo[0]; keyEquivalent.ToCString(keyStr, sizeof(keyStr));
short inKey = keyStr[0];
::SetItemCmd(mMacMenuHandle, mMenuItemVoidArray.Count(), inKey); ::SetItemCmd(mMacMenuHandle, mMenuItemVoidArray.Count(), inKey);
//::SetMenuItemKeyGlyph(mMacMenuHandle, mNumMenuItems, 0x61); //::SetMenuItemKeyGlyph(mMacMenuHandle, mNumMenuItems, 0x61);
} }