diff --git a/src/IO/ADIOS/ADIOS2IOHandler.cpp b/src/IO/ADIOS/ADIOS2IOHandler.cpp index b40ba9bd4e..2b55385eba 100644 --- a/src/IO/ADIOS/ADIOS2IOHandler.cpp +++ b/src/IO/ADIOS/ADIOS2IOHandler.cpp @@ -956,7 +956,7 @@ void ADIOS2IOHandlerImpl::openFile( // lazy opening is deathly in parallel situations auto &fileData = getFileData(**file, IfFileNotOpen::OpenImplicitly); *parameters.out_parsePreference = fileData.parsePreference; - m_dirty.emplace(std::move(file)); + m_dirty.emplace(file); } void ADIOS2IOHandlerImpl::closeFile( @@ -1560,6 +1560,7 @@ void ADIOS2IOHandlerImpl::deregister( void ADIOS2IOHandlerImpl::touch( Writable *writable, Parameter const &) { + refreshFileFromParent(writable, false); this->m_dirty.emplace(writable->fileState); } diff --git a/src/IO/JSON/JSONIOHandlerImpl.cpp b/src/IO/JSON/JSONIOHandlerImpl.cpp index dc31cbe48f..6b2433759c 100644 --- a/src/IO/JSON/JSONIOHandlerImpl.cpp +++ b/src/IO/JSON/JSONIOHandlerImpl.cpp @@ -1637,6 +1637,7 @@ void JSONIOHandlerImpl::deregister( void JSONIOHandlerImpl::touch( Writable *writable, Parameter const &) { + refreshFileFromParent(writable, false); this->m_dirty.emplace(writable->fileState); }