diff --git a/src/core/commandlineoptions.cpp b/src/core/commandlineoptions.cpp index 58d4a89cc..b1d891a52 100644 --- a/src/core/commandlineoptions.cpp +++ b/src/core/commandlineoptions.cpp @@ -301,11 +301,11 @@ QByteArray CommandlineOptions::Serialize() const { s << *this; buf.close(); - return buf.data(); + return buf.data().toBase64(); } void CommandlineOptions::Load(const QByteArray& serialized) { - QByteArray copy(serialized); + QByteArray copy = QByteArray::fromBase64(serialized); QBuffer buf(©); buf.open(QIODevice::ReadOnly); diff --git a/src/core/commandlineoptions.h b/src/core/commandlineoptions.h index 7b807dfc3..2ce20b4d2 100644 --- a/src/core/commandlineoptions.h +++ b/src/core/commandlineoptions.h @@ -33,7 +33,7 @@ class CommandlineOptions { friend QDataStream& operator>>(QDataStream& s, CommandlineOptions& a); public: - explicit CommandlineOptions(int argc = 0, char* *argv = nullptr); + explicit CommandlineOptions(int argc = 0, char** argv = nullptr); static const char* kHelpText; static const char* kVersionText; diff --git a/src/main.cpp b/src/main.cpp index b9a0ae010..b8753ea56 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -111,7 +111,6 @@ namespace { void LoadTranslation(const QString& prefix, const QString& path, const QString& language) { - QTranslator* t = new PoTranslator; if (t->load(prefix + "_" + language, path)) QCoreApplication::installTranslator(t); @@ -349,7 +348,8 @@ int main(int argc, char* argv[]) { a.setQuitOnLastWindowClosed(false); // Do this check again because another instance might have started by now - if (a.isRunning() && a.sendMessage(options.Serialize(), 5000)) { + if (a.isRunning() && + a.sendMessage(QString::fromLatin1(options.Serialize()), 5000)) { return 0; } @@ -390,8 +390,8 @@ int main(int argc, char* argv[]) { // Add root CA cert for SoundCloud, whose certificate is missing on OS X. QSslSocket::addDefaultCaCertificates( QSslCertificate::fromPath(":/soundcloud-ca.pem", QSsl::Pem)); - QSslSocket::addDefaultCaCertificates( - QSslCertificate::fromPath(":/Equifax_Secure_Certificate_Authority.pem", QSsl::Pem)); + QSslSocket::addDefaultCaCertificates(QSslCertificate::fromPath( + ":/Equifax_Secure_Certificate_Authority.pem", QSsl::Pem)); // Has the user forced a different language? QString override_language = options.language(); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 9c1b21d98..d45e5140a 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -2045,15 +2045,9 @@ void MainWindow::PlaylistEditFinished(const QModelIndex& index) { if (index == playlist_menu_index_) SelectionSetValue(); } -void MainWindow::CommandlineOptionsReceived( - const QString& serialized_options) { - if (serialized_options == "wake up!") { - // Old versions of Clementine sent this - just ignore it - return; - } - +void MainWindow::CommandlineOptionsReceived(const QString& string_options) { CommandlineOptions options; - options.Load(serialized_options.toLatin1()); + options.Load(string_options.toLatin1()); if (options.is_empty()) { show(); diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index af1e303f8..4be836257 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -240,7 +240,7 @@ signals: void AddCDTracks(); void AddPodcast(); - void CommandlineOptionsReceived(const QString &serialized_options); + void CommandlineOptionsReceived(const QString& string_options); void CheckForUpdates();