diff --git a/Code/IO/otbGDALImageIO.cxx b/Code/IO/otbGDALImageIO.cxx index ac0aef1919087a5ed87b3e5d61ecba9da9b56934..b2e25335e76940dd778b0db75495727c1b9f840f 100644 --- a/Code/IO/otbGDALImageIO.cxx +++ b/Code/IO/otbGDALImageIO.cxx @@ -772,17 +772,13 @@ void GDALImageIO::Write(const void* buffer) { itkExceptionMacro(<< "Error while writing image (GDAL format) " << m_FileName.c_str()<<"."); } + m_poBands[nbComponents]->FlushCache(); } delete [] value; value = NULL; m_poDataset->FlushCache(); - if(m_poDataset != NULL) - { - GDALClose(m_poDataset); - m_poDataset = NULL; - } } /** TODO : Methode WriteImageInformation non implementee */ diff --git a/Code/IO/otbImageFileWriter.txx b/Code/IO/otbImageFileWriter.txx index 267287be333774392c606bb5b930bbb85330e641..ea5f2ac0da9dc64f3ff7590cf63b00a76b76f5c6 100644 --- a/Code/IO/otbImageFileWriter.txx +++ b/Code/IO/otbImageFileWriter.txx @@ -73,7 +73,9 @@ ImageFileWriter<TInputImage> itk::ImageIOFactory::WriteMode ) ); this->SetNumberOfStreamDivisions( static_cast<unsigned int>( CalculateNumberOfStreamDivisions() ) ); this->Superclass::Write(); - + //TODO: Force ImageIO desctructor. Should be fixed once GDALImageIO + //will be refactored. + this->SetImageIO(NULL); } /**