GNOME Bugzilla – Bug 661482
Browse result is not consistent in All* containers
Last modified: 2012-08-12 17:54:01 UTC
e.g.: Browse AllMusic with: Browse ("AllMusic", "BrowseDirectChildren", "dc:title", 0, 0, "+dc:title") Let the result be: Item_1, Item_2, Item_3, Item_4, Item_5, Item_6 And then: Browse ("AllMusic", "BrowseDirectChildren", "dc:title", 4, 2, "+dc:title") The result is something like: Item_2, Item_5 And not Item_5 & Item_6 as expected.
Probably a "sorting after slicing" issue
With Tracker 0.12.9 Browse results are returned properly.
Moving to tracker and resolving.
Whoops. Not fixed and our bug. Only worked by accident on 0.12.9
Oh wow, that breaks sliced browsing on that container completely :(
Created attachment 208770 [details] [review] patch proposal Also Search results when StrrtingIndex is in used are not consistent. Patch works only with tracker plugin and somehow cover bug 668376.
Created attachment 208771 [details] [review] patch is fixing tests
ake[4]: Entering directory `/home/jens/Source/rygel/src/plugins/media-export' VALAC librygel_media_export_la_vala.stamp rygel-media-export-leaf-query-container.vala:29.5-29.52: error: overriding method `Rygel.MediaExport.LeafQueryContainer.get_children' is incompatible with base method `Rygel.MediaContainer.get_children': incompatible type of parameter 3. public override async MediaObjects? get_children (uint offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rygel-media-export-leaf-query-container.vala:29.5-29.52: error: Rygel.MediaExport.LeafQueryContainer.get_children: no suitable method found to override public override async MediaObjects? get_children (uint offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rygel-media-export-node-query-container.vala:46.5-46.52: error: overriding method `Rygel.MediaExport.NodeQueryContainer.get_children' is incompatible with base method `Rygel.MediaContainer.get_children': incompatible type of parameter 3. public override async MediaObjects? get_children (uint offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rygel-media-export-node-query-container.vala:46.5-46.52: error: Rygel.MediaExport.NodeQueryContainer.get_children: no suitable method found to override public override async MediaObjects? get_children (uint offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rygel-media-export-root-container.vala:170.56-170.66: error: Argument 3: Cannot convert from `GLib.Cancellable?' to `string' cancellable); ^^^^^^^^^^^
The tracker part seems to work well, thank you for the patch
Apart from the root container. If a device requests the items one by one, it's still wrong.
Basically applies to everything, even MediaExport.
*** Bug 674630 has been marked as a duplicate of this bug. ***
Created attachment 220373 [details] [review] core,tracker: Sort before slicing Rebase against latest tracker refactoring
Attachment 220373 [details] pushed as 7abecff - core,tracker: Sort before slicing