diff --git a/GUI/Model/Model/JobQueueData.cpp b/GUI/Model/Model/JobQueueData.cpp index d0f2235bee45a799fa68678df2a430d8a61e2c16..590a8c4af1f2716063d87c4a1d9d26d529118703 100644 --- a/GUI/Model/Model/JobQueueData.cpp +++ b/GUI/Model/Model/JobQueueData.cpp @@ -226,9 +226,8 @@ void JobQueueData::processFinishedJob(JobWorker* worker, JobItem* jobItem) if (worker->status() == JobStatus::Failed) jobItem->setComments(worker->failureMessage()); else { - // propagating simulation results - auto* simulation = getSimulation(worker->identifier()); - jobItem->setResults(simulation->result()); + ASSERT(worker->result()); + jobItem->setResults(*worker->result()); } jobItem->setStatus(worker->status()); diff --git a/GUI/Support/Data/JobWorker.cpp b/GUI/Support/Data/JobWorker.cpp index 453b7dd82d746e8e0d12c8adef3da0ec19c00424..219627695e68791dcd598fd0da5e9e4c296acab2 100644 --- a/GUI/Support/Data/JobWorker.cpp +++ b/GUI/Support/Data/JobWorker.cpp @@ -99,6 +99,11 @@ const QDateTime& JobWorker::simulationEnd() const return m_simulation_end; } +const SimulationResult* JobWorker::result() const +{ + return m_result.get(); +} + //! Sets request for JobRunner to terminate underlying domain simulation. void JobWorker::terminate() diff --git a/GUI/Support/Data/JobWorker.h b/GUI/Support/Data/JobWorker.h index bf0bb0f7e73fbceacca5e26c321b91a83b47c276..fc929fd8cdea23497e6bff343adaa392f7a216fd 100644 --- a/GUI/Support/Data/JobWorker.h +++ b/GUI/Support/Data/JobWorker.h @@ -42,6 +42,8 @@ public: const QDateTime& simulationStart() const; const QDateTime& simulationEnd() const; + const SimulationResult* result() const; + signals: void started(); void finished();