diff options
author | 2009-11-01 19:25:10 +0000 | |
---|---|---|
committer | 2009-11-03 15:31:15 +0000 | |
commit | ee4023b1945fdefa9ebcdc81b4810896b7ee3fae (patch) | |
tree | 7af34a397da93eb9770da8fb87bfc6434d5a1d70 | |
parent | dd85b85919976455bb5f7d125163b422a2a27dbd (diff) | |
download | paludis-ee4023b1945fdefa9ebcdc81b4810896b7ee3fae.tar.gz paludis-ee4023b1945fdefa9ebcdc81b4810896b7ee3fae.tar.xz |
Fix weird resolver bug.
|| ( ( A B ) C ) where ( A B ) and C are both met, and where A is being
replaced by something that also meets, would incorrectly treat ( A B )
as unmet.
Fixes: gentoo#291156
-rw-r--r-- | paludis/query_visitor.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/paludis/query_visitor.cc b/paludis/query_visitor.cc index 1c6c73e47..977d318ae 100644 --- a/paludis/query_visitor.cc +++ b/paludis/query_visitor.cc @@ -95,7 +95,7 @@ QueryVisitor::visit(const DependencySpecTree::NodeType<PackageDepSpec>::Type & n filter::InstalledAtRoot(_imp->environment->root()))]); if (indirect_iterator(matches->end()) != std::find_if(indirect_iterator(matches->begin()), indirect_iterator(matches->end()), - std::tr1::bind(std::tr1::mem_fn(&DepList::replaced), _imp->dep_list, _1))) + std::tr1::bind(std::logical_not<bool>(), std::tr1::bind(std::tr1::mem_fn(&DepList::replaced), _imp->dep_list, _1)))) { _imp->result = true; return; |