Update of /cvsroot/audacity/audacity-src/src/export
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv24008

Modified Files:
        Export.cpp Export.h ExportPCM.cpp 
Log Message:
Fix memleak.

Index: Export.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/export/Export.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- Export.h    2 Feb 2009 17:11:04 -0000       1.26
+++ Export.h    23 Mar 2009 21:19:41 -0000      1.27
@@ -40,7 +40,7 @@
       bool mCanMetaData;
 };
 
-WX_DECLARE_OBJARRAY(FormatInfo *, FormatInfoArray);
+WX_DECLARE_OBJARRAY(FormatInfo, FormatInfoArray);
 
 //----------------------------------------------------------------------------
 // ExportPlugin
@@ -114,7 +114,7 @@
                          MixerSpec *mixerSpec,
                          int subformat);
 
-protected:
+private:
 
    FormatInfoArray mFormatInfos;
 };

Index: Export.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/export/Export.cpp,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- Export.cpp  10 Feb 2009 16:04:48 -0000      1.89
+++ Export.cpp  23 Mar 2009 21:19:40 -0000      1.90
@@ -85,6 +85,7 @@
 #include <wx/arrimpl.cpp>
 
 WX_DEFINE_OBJARRAY(ExportPluginArray);
+WX_DEFINE_OBJARRAY(FormatInfoArray);
 
 ExportPlugin::ExportPlugin()
 {
@@ -93,7 +94,7 @@
 
 ExportPlugin::~ExportPlugin()
 {
-   mFormatInfos.Empty();
+   mFormatInfos.Clear();
 }
 
 bool ExportPlugin::CheckFileName(wxFileName &filename, int format)
@@ -110,7 +111,7 @@
  */
 int ExportPlugin::AddFormat()
 {
-   FormatInfo *nf = new FormatInfo();
+   FormatInfo nf;
    mFormatInfos.Add(nf);
    return mFormatInfos.Count();
 }
@@ -131,63 +132,63 @@
  */
 void ExportPlugin::SetFormat(const wxString & format, int index)
 {
-   mFormatInfos[index]->mFormat = format;
+   mFormatInfos[index].mFormat = format;
 }
 
 void ExportPlugin::SetDescription(const wxString & description, int index)
 {
-   mFormatInfos[index]->mDescription = description;
+   mFormatInfos[index].mDescription = description;
 }
 
 void ExportPlugin::AddExtension(const wxString &extension,int index)
 {
-   mFormatInfos[index]->mExtensions.Add(extension);
+   mFormatInfos[index].mExtensions.Add(extension);
 }
 
 void ExportPlugin::SetExtensions(const wxArrayString & extensions, int index)
 {
-   mFormatInfos[index]->mExtensions = extensions;
+   mFormatInfos[index].mExtensions = extensions;
 }
 
 void ExportPlugin::SetMask(const wxString & mask, int index)
 {
-   mFormatInfos[index]->mMask = mask;
+   mFormatInfos[index].mMask = mask;
 }
 
 void ExportPlugin::SetMaxChannels(int maxchannels, int index)
 {
-   mFormatInfos[index]->mMaxChannels = maxchannels;
+   mFormatInfos[index].mMaxChannels = maxchannels;
 }
 
 void ExportPlugin::SetCanMetaData(bool canmetadata, int index)
 {
-   mFormatInfos[index]->mCanMetaData = canmetadata;
+   mFormatInfos[index].mCanMetaData = canmetadata;
 }
 
 wxString ExportPlugin::GetFormat(int index)
 {
-   return mFormatInfos[index]->mFormat;
+   return mFormatInfos[index].mFormat;
 }
 
 wxString ExportPlugin::GetDescription(int index)
 {
-   return mFormatInfos[index]->mDescription;
+   return mFormatInfos[index].mDescription;
 }
 
 wxString ExportPlugin::GetExtension(int index)
 {
-   return mFormatInfos[index]->mExtensions[0];
+   return mFormatInfos[index].mExtensions[0];
 }
 
 wxArrayString ExportPlugin::GetExtensions(int index)
 {
-   return mFormatInfos[index]->mExtensions;
+   return mFormatInfos[index].mExtensions;
 }
 
 wxString ExportPlugin::GetMask(int index)
 {
-   if (!mFormatInfos[index]->mMask.IsEmpty()) {
-      return mFormatInfos[index]->mMask;
+   if (!mFormatInfos[index].mMask.IsEmpty()) {
+      return mFormatInfos[index].mMask;
    }
 
    wxString mask = GetDescription(index) + wxT("|");
@@ -207,12 +208,12 @@
 
 int ExportPlugin::GetMaxChannels(int index)
 {
-   return mFormatInfos[index]->mMaxChannels;
+   return mFormatInfos[index].mMaxChannels;
 }
 
 bool ExportPlugin::GetCanMetaData(int index)
 {
-   return mFormatInfos[index]->mCanMetaData;
+   return mFormatInfos[index].mCanMetaData;
 }
 
 bool ExportPlugin::IsExtension(wxString & ext, int index)
@@ -267,8 +268,6 @@
 // Export
 //----------------------------------------------------------------------------
 
-WX_DEFINE_OBJARRAY(FormatInfoArray);
-
 Exporter::Exporter()
 {
    mMixerSpec = NULL;

Index: ExportPCM.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/export/ExportPCM.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- ExportPCM.cpp       8 Mar 2009 19:32:26 -0000       1.65
+++ ExportPCM.cpp       23 Mar 2009 21:19:42 -0000      1.66
@@ -761,17 +761,16 @@
 
 wxString ExportPCM::GetExtension(int index)
 {
-if (index == 0)
-   {  // get extension libsndfile thinks is correct for currently selected
-      // format
-   wxString fileext = sf_header_extension(ReadExportFormatPref());
-   return fileext; 
+   if (index == 0) {
+      // get extension libsndfile thinks is correct for currently selected 
format
+      return sf_header_extension(ReadExportFormatPref());
    }
-else
-   {  // do as the default in Export.cpp
-   return mFormatInfos[index]->mExtensions[0];
+   else {
+      // return the default
+      return ExportPlugin::GetExtension(index);
    }
 }
+
 //----------------------------------------------------------------------------
 // Constructor
 //----------------------------------------------------------------------------


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to