--- smplayer-0.6.8/src/mplayerversion.cpp.orig 2009-06-02 11:06:16.000000000 +0200 +++ smplayer-0.6.8/src/mplayerversion.cpp 2009-07-26 09:03:12.000000000 +0200 @@ -26,11 +26,12 @@ int MplayerVersion::mplayerVersion(QString string) { //static QRegExp rx_mplayer_revision("^MPlayer (\\S+)-SVN-r(\\d+)-(.*)"); - static QRegExp rx_mplayer_revision("^MPlayer (.*)-r(\\d+)(.*)"); + static QRegExp rx_mplayer_revision("^MPlayer (.*)[-\\.]r(\\d+)(.*)"); static QRegExp rx_mplayer_version("^MPlayer ([a-z,0-9,.]+)-(.*)"); static QRegExp rx_mplayer_git("^MPlayer GIT(.*)"); #ifndef Q_OS_WIN static QRegExp rx_mplayer_version_ubuntu("^MPlayer (\\d):(\\d)\\.(\\d)~(.*)"); + static QRegExp rx_mplayer_version_mandriva("^MPlayer ([a-z0-9\\.]+)-\\d+\\.([a-z0-9]+)\\.[\\d\\.]+[a-z]+[\\d\\.]+-(.*)"); #endif int mplayer_svn = 0; @@ -51,6 +52,14 @@ string = QString("MPlayer %1.%2%3").arg(v1).arg(v2).arg(rest); qDebug("MplayerVersion::mplayerVersion: line converted to '%s'", string.toUtf8().data()); } + // Hack to recognize mplayer version from Mandriva: + if (rx_mplayer_version_mandriva.indexIn(string) > -1) { + QString v1 = rx_mplayer_version_mandriva.cap(1); + QString v2 = rx_mplayer_version_mandriva.cap(2); + QString rest = rx_mplayer_version_mandriva.cap(3); + string = QString("MPlayer %1%2-%3").arg(v1).arg(v2).arg(rest); + qDebug("MplayerVersion::mplayerVersion: line converted to '%s'", string.toUtf8().data()); + } #endif if (rx_mplayer_revision.indexIn(string) > -1) {