Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > d1a88878ecc1dbf63cd4712e3b8e4934 > files > 2

smplayer-0.6.8-1mdv2009.0.src.rpm

--- 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) {