aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/General/trackchange/trackchange.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/General/trackchange/trackchange.cpp b/src/plugins/General/trackchange/trackchange.cpp
index 00782d5e7..71139b35d 100644
--- a/src/plugins/General/trackchange/trackchange.cpp
+++ b/src/plugins/General/trackchange/trackchange.cpp
@@ -111,14 +111,18 @@ bool TrackChange::executeCommand(const TrackInfo &info, const QString &format)
QMap<Qmmp::MetaData, QString>::iterator it = metaData.begin();
while(it != metaData.end())
{
+#ifdef Q_OS_WIN
+ it.value() = it.value().replace("'", "^'");
+#else
it.value() = it.value().replace("'", "'\\''");
+#endif
it++;
}
tmp.setValues(metaData);
MetaDataFormatter formatter(format);
QString command = formatter.format(tmp);
#ifdef Q_OS_WIN
- bool ok = QProcess::startDetached(QString("cmd.exe \"%1\"").arg(command));
+ bool ok = QProcess::startDetached(QString("cmd.exe /C %1").arg(command));
#else
QStringList args = { "-c", command };
bool ok = QProcess::startDetached("sh", args);