/[svn]/libgig/trunk/src/gig.cpp
ViewVC logotype

Diff of /libgig/trunk/src/gig.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 347 by schoenebeck, Sun Jan 23 20:47:18 2005 UTC revision 350 by schoenebeck, Tue Jan 25 21:54:24 2005 UTC
# Line 1194  namespace gig { Line 1194  namespace gig {
1194          for (uint i = 0; i < Dimensions; i++) {          for (uint i = 0; i < Dimensions; i++) {
1195              if (pDimensionDefinitions[i].ranges) delete[] pDimensionDefinitions[i].ranges;              if (pDimensionDefinitions[i].ranges) delete[] pDimensionDefinitions[i].ranges;
1196          }          }
1197          for (int i = 0; i < 32; i++) {          for (int i = 0; i < 256; i++) {
1198              if (pDimensionRegions[i]) delete pDimensionRegions[i];              if (pDimensionRegions[i]) delete pDimensionRegions[i];
1199          }          }
1200      }      }
# Line 1313  namespace gig { Line 1313  namespace gig {
1313          RIFF::List* lrgn = insList->GetSubList(LIST_TYPE_LRGN);          RIFF::List* lrgn = insList->GetSubList(LIST_TYPE_LRGN);
1314          if (!lrgn) throw gig::Exception("Mandatory chunks in <ins > chunk not found.");          if (!lrgn) throw gig::Exception("Mandatory chunks in <ins > chunk not found.");
1315          pRegions = new Region*[Regions];          pRegions = new Region*[Regions];
1316            for (uint i = 0; i < Regions; i++) pRegions[i] = NULL;
1317          RIFF::List* rgn = lrgn->GetFirstSubList();          RIFF::List* rgn = lrgn->GetFirstSubList();
1318          unsigned int iRegion = 0;          unsigned int iRegion = 0;
1319          while (rgn) {          while (rgn) {
# Line 1336  namespace gig { Line 1337  namespace gig {
1337              if (pRegions) {              if (pRegions) {
1338                  if (pRegions[i]) delete (pRegions[i]);                  if (pRegions[i]) delete (pRegions[i]);
1339              }              }
             delete[] pRegions;  
1340          }          }
1341            if (pRegions) delete[] pRegions;
1342      }      }
1343    
1344      /**      /**
# Line 1393  namespace gig { Line 1394  namespace gig {
1394          pInstruments = NULL;          pInstruments = NULL;
1395      }      }
1396    
1397        File::~File() {
1398            // free samples
1399            if (pSamples) {
1400                SamplesIterator = pSamples->begin();
1401                while (SamplesIterator != pSamples->end() ) {
1402                    delete (*SamplesIterator);
1403                    SamplesIterator++;
1404                }
1405                pSamples->clear();
1406    
1407            }
1408            // free instruments
1409            if (pInstruments) {
1410                InstrumentsIterator = pInstruments->begin();
1411                while (InstrumentsIterator != pInstruments->end() ) {
1412                    delete (*InstrumentsIterator);
1413                    InstrumentsIterator++;
1414                }
1415                pInstruments->clear();
1416            }
1417        }
1418    
1419      Sample* File::GetFirstSample() {      Sample* File::GetFirstSample() {
1420          if (!pSamples) LoadSamples();          if (!pSamples) LoadSamples();
1421          if (!pSamples) return NULL;          if (!pSamples) return NULL;

Legend:
Removed from v.347  
changed lines
  Added in v.350

  ViewVC Help
Powered by ViewVC