From cb89ab7509c7ed3ca8f1f06f766742a2ac0943e4 Mon Sep 17 00:00:00 2001
From: dehnert <dehnert@cs.rwth-aachen.de>
Date: Wed, 11 Jul 2018 20:39:21 +0200
Subject: [PATCH] clearing end-component requirement in topological solver

---
 src/storm/solver/TopologicalMinMaxLinearEquationSolver.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/storm/solver/TopologicalMinMaxLinearEquationSolver.cpp b/src/storm/solver/TopologicalMinMaxLinearEquationSolver.cpp
index 92692b966..d6c1b69e1 100644
--- a/src/storm/solver/TopologicalMinMaxLinearEquationSolver.cpp
+++ b/src/storm/solver/TopologicalMinMaxLinearEquationSolver.cpp
@@ -190,6 +190,10 @@ namespace storm {
             if (req.lowerBounds() && this->hasLowerBound()) {
                 req.clearLowerBounds();
             }
+            
+            // If all requirements of the underlying solver have been passed as requirements to the calling site, we can
+            // assume that the system has no end components if the underlying solver requires this.
+            req.clearNoEndComponents();
             STORM_LOG_THROW(!req.hasEnabledCriticalRequirement(), storm::exceptions::UncheckedRequirementException, "Solver requirements " + req.getEnabledRequirementsAsString() + " not checked.");
             this->sccSolver->setRequirementsChecked(true);