This fixes a bug in movie smartplaylists with rules limiting the matching movies. If a rule matches some but not all of the movies in a set created with GroupUtils::Group() and the user opens the set all the movies belonging to that set will be listed and not just the ones matching the smartplaylist rules. That is because we don't append any videodb:// URL options to the URL used for the set. By passing in the original lists URL to GroupUtils::Group() we can extract any URL options (like the smartplaylist definition in "xsp") and also add it to the URL of the dynamically created movie sets.
This bug has been introduced with the move from doing the set grouping in the db to doing the set grouping dynamically outside of the database. Would be great if it can go in for Frodo, but it's not a blocker.
GroupUtils: fix URL options when grouping movies into sets
Looks OK to me - up you you as to whether you merge it.
@davilla is the decision maker. Without this movie sets in a smartplaylist won't always behave 100% as expected.
+1, inject it
the sets now all get a path like "videodb://1/7/2/?setid=2", with options. As a side effect of this (and a major regression from RC2), new sets don't get any art (poster) loaded. I commented out the line in GroupUtils that adds the options, just to verify and indeed that's it. I guess the fix must be made somewhere in the art handling routines as to ignore any url options.
Update: forget this for now. I don't think it's related. After deleting the sets and recreating them, it worked fine with the new code. Perhaps it was a glitch in my art table, who knows... I'll keep looking.
Update2: it was the art table indeed. Old entries for new set ids caused this.