aboutsummaryrefslogtreecommitdiffstats
path: root/Rpmdrake/gui.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Rpmdrake/gui.pm')
-rw-r--r--Rpmdrake/gui.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm
index bc34612f..5ce4ce28 100644
--- a/Rpmdrake/gui.pm
+++ b/Rpmdrake/gui.pm
@@ -853,9 +853,11 @@ or you already installed all of them."));
add_node($_->[0], N("All")) foreach $sortmethods{flat}->(@elems);
$tree->expand_row($tree_model->get_path($tree_model->get_iter_first), 0);
} elsif ($::mode->[0] eq 'by_source') {
- add_node($_->[0], $_->[1]) foreach $sortmethods{by_medium}->(map {
+ my @list = $sortmethods{by_medium}->(map {
my $m = pkg2medium($pkgs->{$_->[0]}{pkg}, $urpm); [ $_->[0], $m->{name}, $m->{priority} ];
} @elems);
+ add_parent($_) foreach uniq(map { $_->[1] } @list);
+ add_node($_->[0], $_->[1]) foreach @list;
} elsif ($mode eq 'by_presence') {
add_node(
$_->[0], $pkgs->{$_->[0]}{pkg}->flag_installed && !$pkgs->{$_->[0]}{pkg}->flag_skip