[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mozilla-patches
Subject:    patches for widget/src/mac/
From:       "Bruce Mitchener Jr." <bruce () cybersight ! com>
Date:       1999-03-28 15:19:24
[Download RAW message or body]

These patches will fix a memory leak in menu code on Mac I think and
address delete vs delete[] issues.

 - Bruce

Index: widget/src/mac/nsMenu.cpp
===================================================================
RCS file: /cvsroot/mozilla/widget/src/mac/nsMenu.cpp,v
retrieving revision 1.16
diff -u -r1.16 nsMenu.cpp
--- nsMenu.cpp	1999/03/20 02:28:10	1.16
+++ nsMenu.cpp	1999/03/28 11:48:41
@@ -156,8 +156,10 @@
    
   mMacMenuHandle = nsnull;
 
-  mMacMenuHandle = ::NewMenu(mMacMenuIDCount,
c2pstr(mLabel.ToNewCString()));
-  mMacMenuID = mMacMenuIDCount;
+  char *menu_label = mLabel.ToNewCString();
+  mMacMenuHandle = ::NewMenu(mMacMenuIDCount, c2pstr(menu_label));
+  delete[] menu_label;
+  mMacMenuID = mMacMenuIDCount;
   mMacMenuIDCount++;
 
   return NS_OK;
@@ -200,8 +202,10 @@
   
   nsString label;
   aMenuItem->GetLabel(label);
+  char* menu_label = label.ToNewCString();
   mNumMenuItems++;
-  ::InsertMenuItem(mMacMenuHandle, c2pstr(label.ToNewCString()),
mNumMenuItems );
+  ::InsertMenuItem(mMacMenuHandle, c2pstr(menu_label), mNumMenuItems );
+  delete[] menu_label;
   return NS_OK;
 }
 
@@ -215,8 +219,10 @@
   // We have to add it as a menu item and then associate it with the
item
   nsString label;
   aMenu->GetLabel(label);
+  char* menu_label = label.ToNewCString();
   mNumMenuItems++;
-  ::InsertMenuItem(mMacMenuHandle, c2pstr(label.ToNewCString()),
mNumMenuItems);
+  ::InsertMenuItem(mMacMenuHandle, c2pstr(menu_label), mNumMenuItems);
+  delete[] menu_label;
   
   MenuHandle menuHandle;
   aMenu->GetNativeData((void**)&menuHandle);


Index: widget/src/mac/nsFileWidget.cpp
===================================================================
RCS file: /cvsroot/mozilla/widget/src/mac/nsFileWidget.cpp,v
retrieving revision 1.6
diff -u -r1.6 nsFileWidget.cpp
--- nsFileWidget.cpp	1999/03/17 00:35:25	1.6
+++ nsFileWidget.cpp	1999/03/28 11:42:12
@@ -164,7 +164,7 @@
     NS_ASSERTION(0, "Only load and save are supported modes"); 
   }
    // Clean up filter buffers
-  delete filterBuffer;
+  delete[] filterBuffer;
 
 	if (!reply.sfGood) return PR_FALSE;

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic