> The dev of smplayer says it's fixed in svn r3532 > I have no time to test it currently. > Could anyone else verfiy it?
I'm facing the same bug, but that r3532 doesn't solve it for me. --- src/core.cpp (revision 3531) +++ src/core.cpp (revision 3532) @@ -21,6 +21,7 @@ #include <QFileInfo> #include <QRegExp> #include <QTextStream> +#include <QUrl> #include <cmath> @@ -361,6 +362,11 @@ void Core::open(QString file, int seek) { qDebug("Core::open: '%s'", file.toUtf8().data()); + if (file.startsWith("file:")) { + file = QUrl(file).toLocalFile(); + qDebug("Core::open: converting url to local file: %s", file.toUtf8().constData()); + } + QFileInfo fi(file); if ( (fi.exists()) && (fi.suffix().toLower()=="iso") ) { As you can see, author solved that issue by calling toLocalFile. But it does not convert those urlencrypted %20 and others. It simply removes 'file://' from beginning. I propose the following patch: diff -ur smplayer-0.6.9//src/smplayer.cpp smplayer-0.6.9-fix//src/smplayer.cpp --- smplayer-0.6.9//src/smplayer.cpp 2010-01-21 03:52:42.000000000 +0300 +++ smplayer-0.6.9-fix//src/smplayer.cpp 2010-12-19 20:51:56.119603929 +0300 @@ -30,6 +30,7 @@ #include <QDir> #include <QApplication> +#include <QUrl> #include <stdio.h> @@ -242,6 +243,13 @@ } else { // File + QUrl fUrl; + QByteArray baUrl; + baUrl.append( argument ); + fUrl.setEncodedUrl( baUrl ); + if (fUrl.isValid()) { + argument = fUrl.toLocalFile(); + } if (QFile::exists( argument )) { argument = QFileInfo(argument).absoluteFilePath(); } QUrl::setEncodedUrl decodes string and if decoded url still correct, converting to local file name invoked. I tested it on files with only ASCII characters in names and with russian names (in UTF-8) and it worked. _______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers