diff options
Diffstat (limited to 'src/librygel-server')
-rw-r--r-- | src/librygel-server/rygel-browse.vala | 4 | ||||
-rw-r--r-- | src/librygel-server/rygel-media-container.vala | 2 | ||||
-rw-r--r-- | src/librygel-server/rygel-search.vala | 6 | ||||
-rw-r--r-- | src/librygel-server/rygel-searchable-container.vala | 2 | ||||
-rw-r--r-- | src/librygel-server/rygel-simple-container.vala | 8 |
5 files changed, 13 insertions, 9 deletions
diff --git a/src/librygel-server/rygel-browse.vala b/src/librygel-server/rygel-browse.vala index b9319d41..a3cadfaa 100644 --- a/src/librygel-server/rygel-browse.vala +++ b/src/librygel-server/rygel-browse.vala @@ -111,9 +111,11 @@ internal class Rygel.Browse: Rygel.MediaQueryAction { this.object_id, this.index); + var sort_criteria = this.sort_criteria ?? container.sort_criteria; + var children = yield container.get_children (this.index, this.requested_count, - this.sort_criteria, + sort_criteria, this.cancellable); debug ("Fetched %u children of container '%s' from index %u.", diff --git a/src/librygel-server/rygel-media-container.vala b/src/librygel-server/rygel-media-container.vala index 5780c311..535f6288 100644 --- a/src/librygel-server/rygel-media-container.vala +++ b/src/librygel-server/rygel-media-container.vala @@ -121,7 +121,7 @@ public abstract class Rygel.MediaContainer : MediaObject { */ public async abstract MediaObjects? get_children (uint offset, uint max_count, - string? sort_criteria, + string sort_criteria, Cancellable? cancellable) throws Error; diff --git a/src/librygel-server/rygel-search.vala b/src/librygel-server/rygel-search.vala index d35be7ec..4ae99b5b 100644 --- a/src/librygel-server/rygel-search.vala +++ b/src/librygel-server/rygel-search.vala @@ -69,20 +69,22 @@ internal class Rygel.Search: Rygel.MediaQueryAction { throw parser.err; } + var sort_criteria = this.sort_criteria ?? container.sort_criteria; + if (this.hacks != null) { return yield this.hacks.search (container, parser.expression, this.index, this.requested_count, out this.total_matches, - this.sort_criteria, + sort_criteria, this.cancellable); } else { return yield container.search (parser.expression, this.index, this.requested_count, out this.total_matches, - this.sort_criteria, + sort_criteria, this.cancellable); } } diff --git a/src/librygel-server/rygel-searchable-container.vala b/src/librygel-server/rygel-searchable-container.vala index 8dd5e5da..469dad4c 100644 --- a/src/librygel-server/rygel-searchable-container.vala +++ b/src/librygel-server/rygel-searchable-container.vala @@ -45,7 +45,7 @@ public interface Rygel.SearchableContainer : MediaContainer { uint offset, uint max_count, out uint total_matches, - string? sort_criteria, + string sort_criteria, Cancellable? cancellable) throws Error; diff --git a/src/librygel-server/rygel-simple-container.vala b/src/librygel-server/rygel-simple-container.vala index dcb006bc..bb7d18b7 100644 --- a/src/librygel-server/rygel-simple-container.vala +++ b/src/librygel-server/rygel-simple-container.vala @@ -124,7 +124,7 @@ public class Rygel.SimpleContainer : Rygel.MediaContainer, public override async MediaObjects? get_children ( uint offset, uint max_count, - string? sort_criteria, + string sort_criteria, Cancellable? cancellable) throws Error { uint stop = offset + max_count; @@ -132,7 +132,7 @@ public class Rygel.SimpleContainer : Rygel.MediaContainer, var sorted_children = this.children.slice (0, this.child_count) as MediaObjects; - sorted_children.sort_by_criteria (sort_criteria ?? this.sort_criteria); + sorted_children.sort_by_criteria (sort_criteria); return sorted_children.slice ((int) offset, (int) stop) as MediaObjects; @@ -195,14 +195,14 @@ public class Rygel.SimpleContainer : Rygel.MediaContainer, uint offset, uint max_count, out uint total_matches, - string? sort_criteria, + string sort_criteria, Cancellable? cancellable) throws Error { return yield this.simple_search (expression, offset, max_count, out total_matches, - sort_criteria ?? this.sort_criteria, + sort_criteria, cancellable); } |