From 5b9384336c696ed13db8b1077b847bce012c95ef Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 4 Aug 2016 14:16:05 +0200 Subject: QPlaylistFileParser: fix QUrl::resolved+QUrl::fromLocalFile misuse QUrl::resolved can be used to resolve relative paths, but not by passing them via QUrl::fromLocalFile (8a33077 in qtbase made QUrl more strict). To resolve both relative and absolute local paths against a local directory, QUrl::fromUserInput(3 args) does the job. Change-Id: Ifc01bbd590978f939f9538e70d12f2f3704d7b5d Reviewed-by: Yoann Lopes --- src/multimedia/playback/playlistfileparser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multimedia/playback/playlistfileparser.cpp b/src/multimedia/playback/playlistfileparser.cpp index c7553e16b..99ebe6f54 100644 --- a/src/multimedia/playback/playlistfileparser.cpp +++ b/src/multimedia/playback/playlistfileparser.cpp @@ -67,7 +67,7 @@ protected: if (url.scheme().isEmpty()) { // Resolve it relative to root if (root.isLocalFile()) - return root.resolved(QUrl::fromLocalFile(line)); + return QUrl::fromUserInput(line, root.adjusted(QUrl::RemoveFilename).toLocalFile(), QUrl::AssumeLocalFile); else return root.resolved(url); } else if (url.scheme().length() == 1) { -- cgit v1.2.3