--- libgig/trunk/src/gig.cpp 2007/03/15 13:57:47 1099 +++ libgig/trunk/src/gig.cpp 2007/03/18 19:38:47 1106 @@ -2152,6 +2152,8 @@ if (file->pWavePoolTable) pDimensionRegions[i]->pSample = GetSampleFromWavePool(wavepoolindex); } GetSample(); // load global region sample reference + } else { + DimensionRegions = 0; } // make sure there is at least one dimension region @@ -2174,6 +2176,12 @@ * @throws gig::Exception if samples cannot be dereferenced */ void Region::UpdateChunks() { + // in the gig format we don't care about the Region's sample reference + // but we still have to provide some existing one to not corrupt the + // file, so to avoid the latter we simply always assign the sample of + // the first dimension region of this region + pSample = pDimensionRegions[0]->pSample; + // first update base class's chunks DLS::Region::UpdateChunks();