diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp index 154fd47227f7dbf028e65417b885d9e05fe72e18..064a03a4dc5b6e06e7c1b3532bfe7cbaa292723a 100644 --- a/src/problem/problem.cpp +++ b/src/problem/problem.cpp @@ -1731,14 +1731,6 @@ bool Problem::check(int verbose_level) const if (found_here) cout << " Fo" << Fo->id(); found = found || found_here; - // Find in Captures of the constrained Frame - for (auto FoC : Fo->getCaptureList()) - { - sb_vec = FoC->getStateBlockVec(); - found_here = (std::find(sb_vec.begin(), sb_vec.end(), sb) != sb_vec.end()); - if (found_here) cout << " FoC" << FoC->id(); - found = found || found_here; - } } // find in constrained Capture @@ -1750,6 +1742,16 @@ bool Problem::check(int verbose_level) const found = found || found_here; } + // Find in other Captures of the constrained Frame + if (!found_here && Fo) + for (auto FoC : Fo->getCaptureList()) + { + sb_vec = FoC->getStateBlockVec(); + found_here = (std::find(sb_vec.begin(), sb_vec.end(), sb) != sb_vec.end()); + if (found_here) cout << " FoC" << FoC->id(); + found = found || found_here; + } + // find in constrained Feature if (fo) {