Index: Slim/Buttons/Search.pm =================================================================== --- Slim/Buttons/Search.pm (revision 4371) +++ Slim/Buttons/Search.pm (working copy) @@ -138,13 +138,13 @@ Slim::Buttons::Common::popModeRight($client); } else { $context{$client} =~ s/$rightarrow//; - startSearch($client); + startSearch($client,$exitType eq 'PLAY'); } } sub startSearch { my $client = shift; - my $mode = shift; + my $method = shift; my @oldlines = Slim::Display::Display::curLines($client); my $term = searchTerm($client); @@ -156,6 +156,7 @@ 'search' => $term, 'hierarchy' => 'artist,album,track', 'level' => 0, + 'all' => $method, }); } elsif ($client->searchFor eq 'ALBUMS') { @@ -164,6 +165,7 @@ 'search' => $term, 'hierarchy' => 'album,track', 'level' => 0, + 'all' => $method, }); } else { @@ -172,6 +174,7 @@ 'search' => $term, 'hierarchy' => 'track', 'level' => 0, + 'all' => $method, }); } Index: Slim/Buttons/BrowseDB.pm =================================================================== --- Slim/Buttons/BrowseDB.pm (revision 4371) +++ Slim/Buttons/BrowseDB.pm (working copy) @@ -134,7 +134,7 @@ my $level = $client->param('level'); my $descend = $client->param('descend'); my $findCriteria = $client->param('findCriteria'); - my $all = !ref($currentItem); + my $all = !ref($currentItem) || $client->param('all'); my @levels = split(",", $hierarchy); @@ -644,7 +644,7 @@ # Entering from trackinfo, so we need to set the selected item } elsif (defined $client->param('selectionCriteria')) { - # grab selection info + # grab selection info, for the current heirarchy level $selectionCriteria = $client->param('selectionCriteria'); my $selection = $selectionCriteria->{$levels[$level]}; my $i = 0; @@ -687,6 +687,7 @@ level => $level, descend => $descend, search => $search, + all => $client->param('all'), selectionKey => $selectionKey, findCriteria => $findCriteria, selectionCriteria => $selectionCriteria,