From 8bb2ee6bc13e1d41579330c2e5b2e45334d0a08f Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 26 Oct 2006 10:53:30 +0000 Subject: (toggle_nodes) if one package cannot be removed, do not alter "selected" status for other packages in the loop --- rpmdrake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rpmdrake b/rpmdrake index 397624ee..6b189675 100755 --- a/rpmdrake +++ b/rpmdrake @@ -1079,8 +1079,12 @@ or you already installed all of them.")); #- some deps may exist on some packages which aren't listed because #- not upgradable (older than what currently installed) exists $pkgs->{$_} or next; - $pkgs->{$_}{pkg} or $new_state = 0; #- can't be removed - $pkgs->{$_}{selected} = $new_state; + if (!$pkgs->{$_}{pkg}) { #- can't be removed # FIXME; what about next packages in the loop? + $pkgs->{$_}{selected} = 0; + log::explanations("can't be removed: $_"); + } else { + $pkgs->{$_}{selected} = $new_state; + } $set_state->($_, $options->{node_state}($_), $detail_tree_model); $pkgs->{$_}{pkg} and $size_selected += $pkgs->{$_}{pkg}->size * ($new_state ? 1 : -1); -- cgit v1.2.1