From e1934e8c169828b74ef7c2b7d42170e6a001dab4 Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Sat, 18 Oct 2014 17:22:50 +0300 Subject: [PATCH] Use the correct character encoding for exceptions coming from libtorrent. Conflicts: src/qtlibtorrent/qbtsession.cpp --- src/addnewtorrentdialog.cpp | 2 +- src/properties/propertieswidget.cpp | 2 +- src/qtlibtorrent/qbtsession.cpp | 2 +- src/torrentcreator/torrentcreatorthread.cpp | 3 ++- src/webui/btjson.cpp | 6 +++--- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/addnewtorrentdialog.cpp b/src/addnewtorrentdialog.cpp index 93083604f..909fb8e19 100644 --- a/src/addnewtorrentdialog.cpp +++ b/src/addnewtorrentdialog.cpp @@ -197,7 +197,7 @@ bool AddNewTorrentDialog::loadTorrent(const QString& torrent_path, const QString m_torrentInfo = new torrent_info(m_filePath.toUtf8().data()); m_hash = misc::toQString(m_torrentInfo->info_hash()); } catch(const std::exception& e) { - MessageBoxRaised::critical(0, tr("Invalid torrent"), tr("Failed to load the torrent: %1").arg(e.what())); + MessageBoxRaised::critical(0, tr("Invalid torrent"), tr("Failed to load the torrent: %1").arg(misc::toQStringU(e.what()))); return false; } diff --git a/src/properties/propertieswidget.cpp b/src/properties/propertieswidget.cpp index df3a47cd2..746aee866 100644 --- a/src/properties/propertieswidget.cpp +++ b/src/properties/propertieswidget.cpp @@ -384,7 +384,7 @@ void PropertiesWidget::loadDynamicData() { } } } catch(const invalid_handle& e) { - qWarning() << "Caught exception in PropertiesWidget::loadDynamicData(): " << e.what(); + qWarning() << "Caught exception in PropertiesWidget::loadDynamicData(): " << misc::toQStringU(e.what()); } } diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 7ae8112aa..661ef9658 100755 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -1110,7 +1110,7 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr } catch(std::exception& e) { if (!from_url.isNull()) { addConsoleMessage(tr("Unable to decode torrent file: '%1'", "e.g: Unable to decode torrent file: '/home/y/xxx.torrent'").arg(from_url), QString::fromUtf8("red")); - addConsoleMessage(misc::toQString(e.what()), "red"); + addConsoleMessage(misc::toQStringU(e.what()), "red"); //emit invalidTorrent(from_url); fsutils::forceRemove(path); }else{ diff --git a/src/torrentcreator/torrentcreatorthread.cpp b/src/torrentcreator/torrentcreatorthread.cpp index 5398e159c..a581d1b89 100644 --- a/src/torrentcreator/torrentcreatorthread.cpp +++ b/src/torrentcreator/torrentcreatorthread.cpp @@ -42,6 +42,7 @@ #include "torrentcreatorthread.h" #include "fs_utils.h" +#include "misc.h" #if LIBTORRENT_VERSION_NUM < 1600 #include @@ -156,6 +157,6 @@ void TorrentCreatorThread::run() { emit updateProgress(100); emit creationSuccess(save_path, parent_path); } catch (std::exception& e) { - emit creationFailure(QString::fromLocal8Bit(e.what())); + emit creationFailure(misc::toQStringU(e.what())); } } diff --git a/src/webui/btjson.cpp b/src/webui/btjson.cpp index 6c686fde6..7c1d2f4bb 100644 --- a/src/webui/btjson.cpp +++ b/src/webui/btjson.cpp @@ -257,7 +257,7 @@ QByteArray btjson::getTrackersForTorrent(const QString& hash) tracker_list.append(tracker_dict); } } catch(const std::exception& e) { - qWarning() << Q_FUNC_INFO << "Invalid torrent: " << e.what(); + qWarning() << Q_FUNC_INFO << "Invalid torrent: " << misc::toQStringU(e.what()); return QByteArray(); } @@ -318,7 +318,7 @@ QByteArray btjson::getPropertiesForTorrent(const QString& hash) const qreal ratio = QBtSession::instance()->getRealRatio(h.hash()); data[KEY_PROP_RATIO] = ratio > 100. ? QString::fromUtf8("∞") : misc::accurateDoubleToString(ratio, 1, false); } catch(const std::exception& e) { - qWarning() << Q_FUNC_INFO << "Invalid torrent: " << e.what(); + qWarning() << Q_FUNC_INFO << "Invalid torrent: " << misc::toQStringU(e.what()); return QByteArray(); } @@ -363,7 +363,7 @@ QByteArray btjson::getFilesForTorrent(const QString& hash) file_list.append(file_dict); } } catch (const std::exception& e) { - qWarning() << Q_FUNC_INFO << "Invalid torrent: " << e.what(); + qWarning() << Q_FUNC_INFO << "Invalid torrent: " << misc::toQStringU(e.what()); return QByteArray(); }