Let's check if the torrent file can actually be opened before passing it to libtorrent

If we don't have enough permissions, libtorrent will spew a pretty useless, irrelevant and almost wrong message: "Failed to load the torrent: torrent file is not a dictionary"
This commit is contained in:
Artem S. Tashkinov
2015-03-03 00:22:45 +05:00
committed by sledgehammer999
parent 51b93b4284
commit 09bc14cc57

View File

@@ -177,6 +177,12 @@ bool AddNewTorrentDialog::loadTorrent(const QString& torrent_path)
return false;
}
QFileInfo fileinfo(m_filePath);
if (!fileinfo.isReadable()) {
MessageBoxRaised::critical(0, tr("I/O Error"), tr("The torrent file cannot be read from the disk. Probably you don't have enough permissions."));
return false;
}
m_hasMetadata = true;
QString error;
m_torrentInfo = BitTorrent::TorrentInfo::loadFromFile(m_filePath, error);