diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2016-04-25 06:44:05 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2016-04-25 06:44:05 +0000 |
| commit | bf0735a1b70ff1a6723a728cef32d3eb6ef96902 (patch) | |
| tree | 3349c9d6b8422ad24613893bf1c1ccd848ae653d /src/plugins/Input/vorbis/decodervorbisfactory.cpp | |
| parent | 0a4dd651536e614f3d623108cac870d4ee8635e6 (diff) | |
| download | qmmp-bf0735a1b70ff1a6723a728cef32d3eb6ef96902.tar.gz qmmp-bf0735a1b70ff1a6723a728cef32d3eb6ef96902.tar.bz2 qmmp-bf0735a1b70ff1a6723a728cef32d3eb6ef96902.zip | |
fixed problem with non-latin characters in the file paths under windows
(#852)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6261 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/vorbis/decodervorbisfactory.cpp')
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 794850c52..b8d19db0b 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -29,6 +29,12 @@ #include "vorbismetadatamodel.h" #include "decodervorbisfactory.h" +#ifdef Q_OS_WIN +#define QStringToFileName(s) TagLib::FileName(reinterpret_cast<const wchar_t *>(s.utf16()) +#else +#define QStringToFileName(s) s.toLocal8Bit().constData() +#endif + // DecoderOggFactory @@ -82,10 +88,10 @@ QList<FileInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, FileInfo *info = new FileInfo(fileName); #if (TAGLIB_MAJOR_VERSION > 1) || ((TAGLIB_MAJOR_VERSION == 1) && (TAGLIB_MINOR_VERSION >= 8)) - TagLib::FileStream stream(fileName.toLocal8Bit().constData(), true); + TagLib::FileStream stream(QStringToFileName(fileName), true); TagLib::Ogg::Vorbis::File fileRef(&stream); #else - TagLib::Ogg::Vorbis::File fileRef(fileName.toLocal8Bit().constData()); + TagLib::Ogg::Vorbis::File fileRef(QStringToFileName(fileName)); #endif TagLib::Ogg::XiphComment *tag = useMetaData ? fileRef.tag() : 0; |
