aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-11-03 20:09:19 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-11-03 20:09:19 +0000
commitab61036b9f1bc1cdc2ba0ee3dfea3b2740d65b6f (patch)
tree5227c9ff64eabdbca1dfa1a646fec2e3ef41f1ec
parent9dfbffe87cfcf9b2153aed406d8aa93989317561 (diff)
downloadpaludis-ab61036b9f1bc1cdc2ba0ee3dfea3b2740d65b6f.tar.gz
paludis-ab61036b9f1bc1cdc2ba0ee3dfea3b2740d65b6f.tar.xz
Try to find a slot before using :(unknown)
Fixes: ticket:1006
-rw-r--r--paludis/resolver/decider.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc
index 96d9304..8964963 100644
--- a/paludis/resolver/decider.cc
+++ b/paludis/resolver/decider.cc
@@ -1533,6 +1533,15 @@ Decider::_get_error_resolvents_for(
),
*t);
+ auto ids(_find_installable_id_candidates_for(*spec.package_ptr(), filter::All(), true, true));
+ if (! ids->empty())
+ resolvent.slot() = make_named_values<SlotNameOrNull>(
+ n::name_or_null() = (*ids->rbegin())->slot_key() ?
+ make_shared_copy((*ids->rbegin())->slot_key()->value()) :
+ make_null_shared_ptr(),
+ n::null_means_unknown() = true
+ );
+
result->push_back(resolvent);
}
return result;