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.0 +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