CPLErr GDALRasterBlock::Write() { if( !GetDirty() ) return CE_None; if( poBand == NULL ) return CE_Failure; MarkClean(); return poBand->IWriteBlock( nXOff, nYOff, pData ); }
CPLErr GDALRasterBlock::Write() { if( !GetDirty() ) return CE_None; if( poBand == NULL ) return CE_Failure; MarkClean(); if (poBand->eFlushBlockErr == CE_None) { int bCallLeaveReadWrite = poBand->EnterReadWrite(GF_Write); CPLErr eErr = poBand->IWriteBlock( nXOff, nYOff, pData ); if( bCallLeaveReadWrite ) poBand->LeaveReadWrite(); return eErr; } else return poBand->eFlushBlockErr; }