From 0dfe36c463f2aeca4bbdb15f8aa3bdb2fd60ef86 Mon Sep 17 00:00:00 2001
From: Zac Medico <zmedico@gentoo.org>
Date: Sun, 10 Jul 2011 05:05:58 -0700
Subject: [PATCH] slot_collision: fix more for bug 374423

---
 pym/_emerge/resolver/slot_collision.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index 0069d179d..0df8f20a2 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -588,6 +588,15 @@ class slot_conflict_handler(object):
 				else:
 					violated_atom = atom.unevaluated_atom.violated_conditionals(_pkg_use_enabled(pkg), \
 						pkg.iuse.is_valid_flag, parent_use=_pkg_use_enabled(ppkg))
+					if violated_atom.use is None:
+						# It's possible for autounmask to change
+						# parent_use such that the unevaluated form
+						# of the atom now matches, even though the
+						# earlier evaluated form (from before
+						# autounmask changed parent_use) does not.
+						# In this case (see bug #374423), it's
+						# expected that violated_atom.use is None.
+						continue
 
 				if pkg.installed and (violated_atom.use.enabled or violated_atom.use.disabled):
 					#We can't change USE of an installed package (only of an ebuild, but that is already
-- 
2.26.2