diff --git a/ProcessLib/UncoupledProcessesTimeLoop.cpp b/ProcessLib/UncoupledProcessesTimeLoop.cpp index ab2301a1e8c92eb66619d4a385d56b294ecf46de..d6b043a727fe1682692a9b16f7a90accebcd7070 100644 --- a/ProcessLib/UncoupledProcessesTimeLoop.cpp +++ b/ProcessLib/UncoupledProcessesTimeLoop.cpp @@ -319,12 +319,12 @@ std::vector<std::unique_ptr<SingleProcessData>> createPerProcessData( coupled_process_tree->getConfigParameterList<std::string>( "coupled_process")) { - auto const& cpl_pcs_ptr = BaseLib::getOrError( + auto const& coupled_process = *BaseLib::getOrError( processes, cpl_pcs_name, "A process with the given name has not been defined."); auto const inserted = coupled_processes.emplace( - std::type_index(typeid(*cpl_pcs_ptr)), *cpl_pcs_ptr); + std::type_index(typeid(coupled_process)), coupled_process); if (!inserted.second) { // insertion failed, i.e., key already exists OGS_FATAL("Coupled process `%s' already exists.", @@ -509,8 +509,9 @@ bool UncoupledProcessesTimeLoop::setCoupledSolutions() _per_process_data.end(), [&coupled_process]( std::unique_ptr<SingleProcessData> const& item) { + auto const& item_process = item->process; return std::type_index(typeid(coupled_process)) == - std::type_index(typeid(item->process)); + std::type_index(typeid(item_process)); }); if (found_item != _per_process_data.end())