summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--lib/Smokeping.pm11
2 files changed, 5 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 2889668..3702057 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+* fixe ordering of menu versus overview page --tobi
+
2008/2/17 -- released version 2.3.1
* Master should not generate alerts for nomasterpoll targets --tobi
diff --git a/lib/Smokeping.pm b/lib/Smokeping.pm
index f582263..11b896c 100644
--- a/lib/Smokeping.pm
+++ b/lib/Smokeping.pm
@@ -600,15 +600,10 @@ sub target_menu($$$$;$){
my $print;
my $current = shift @{$open} || "";
my @hashes;
- if (not defined $tree->{_order}){
- foreach my $prop ( sort grep { ref $tree->{$_} eq 'HASH' and not /^__/} keys %{$tree}) {
- push @hashes, $prop;
- }
- } else {
- foreach my $prop (sort { $tree->{$a}{_order} <=> $tree->{$b}{_order}}
- grep { ref $tree->{$_} eq 'HASH' } keys %{$tree}) {
+ foreach my $prop (sort {$tree->{$a}{_order} ? ($tree->{$a}{_order} <=> $tree->{$b}{_order}) : ($a cmp $b)}
+ grep { ref $tree->{$_} eq 'HASH' and not /^__/ }
+ keys %$tree) {
push @hashes, $prop;
- }
}
return wantarray ? () : "" unless @hashes;