Merge pull request #12124 from Chocobo1/rename

Fix crash when renaming torrent contents
This commit is contained in:
Mike Tzou 2020-03-08 00:16:02 +08:00 committed by GitHub
commit 92cc2a4f31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 11 deletions

View file

@ -640,7 +640,7 @@ void PropertiesWidget::displayFilesListMenu(const QPoint &)
// The selected torrent might have disappeared during exec()
// so we just close menu when an appropriate model is reset
connect(m_ui->filesList->model(), &QAbstractItemModel::modelAboutToBeReset
, menu, [&menu]()
, menu, [menu]()
{
menu->setActiveAction(nullptr);
menu->close();
@ -710,7 +710,7 @@ void PropertiesWidget::configure()
void PropertiesWidget::askWebSeed()
{
bool ok;
bool ok = false;
// Ask user for a new url seed
const QString urlSeed = AutoExpandableDialog::getText(this, tr("New URL seed", "New HTTP source"),
tr("New URL seed:"), QLineEdit::Normal,

View file

@ -482,7 +482,7 @@ void TrackerListWidget::editSelectedTracker()
// During multi-select only process item selected last
const QUrl trackerURL = selectedTrackerItems.last()->text(COL_URL);
bool ok;
bool ok = false;
const QUrl newTrackerURL = AutoExpandableDialog::getText(this, tr("Tracker editing"), tr("Tracker URL:"),
QLineEdit::Normal, trackerURL.toString(), &ok).trimmed();
if (!ok) return;

View file

@ -216,7 +216,7 @@ void RSSWidget::displayItemsListMenu(const QPoint &)
void RSSWidget::askNewFolder()
{
bool ok;
bool ok = false;
QString newName = AutoExpandableDialog::getText(
this, tr("Please choose a folder name"), tr("Folder name:"), QLineEdit::Normal
, tr("New folder"), &ok);
@ -257,7 +257,7 @@ void RSSWidget::on_newFeedButton_clicked()
const QString clipText = qApp->clipboard()->text();
const QString defaultURL = Net::DownloadManager::hasSupportedScheme(clipText) ? clipText : "http://";
bool ok;
bool ok = false;
QString newURL = AutoExpandableDialog::getText(
this, tr("Please type a RSS feed URL"), tr("Feed URL:"), QLineEdit::Normal, defaultURL, &ok);
if (!ok) return;
@ -386,7 +386,7 @@ void RSSWidget::renameSelectedRSSItem()
RSS::Item *rssItem = m_feedListWidget->getRSSItem(item);
const QString parentPath = RSS::Item::parentPath(rssItem->path());
bool ok;
bool ok = false;
do {
QString newName = AutoExpandableDialog::getText(
this, tr("Please choose a new name for this RSS feed"), tr("New feed name:")

View file

@ -94,7 +94,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentHandle *torre
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
if (selectedIndexes.size() != 1) return;
const QModelIndex modelIndex = selectedIndexes.first();
const QPersistentModelIndex modelIndex = selectedIndexes.first();
if (!modelIndex.isValid()) return;
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
@ -106,7 +106,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentHandle *torre
bool ok = false;
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
, modelIndex.data().toString(), &ok, isFile).trimmed();
if (!ok) return;
if (!ok || !modelIndex.isValid()) return;
if (!Utils::Fs::isValidFileSystemName(newName)) {
RaisedMessageBox::warning(this, tr("Rename error"),
@ -213,7 +213,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentInfo &torrent
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
if (selectedIndexes.size() != 1) return;
const QModelIndex modelIndex = selectedIndexes.first();
const QPersistentModelIndex modelIndex = selectedIndexes.first();
if (!modelIndex.isValid()) return;
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
@ -225,7 +225,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentInfo &torrent
bool ok = false;
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
, modelIndex.data().toString(), &ok, isFile).trimmed();
if (!ok) return;
if (!ok || !modelIndex.isValid()) return;
if (!Utils::Fs::isValidFileSystemName(newName)) {
RaisedMessageBox::warning(this, tr("Rename error"),

View file

@ -1003,7 +1003,7 @@ void TransferListWidget::renameSelectedTorrent()
if (!torrent) return;
// Ask for a new Name
bool ok;
bool ok = false;
QString name = AutoExpandableDialog::getText(this, tr("Rename"), tr("New name:"), QLineEdit::Normal, torrent->name(), &ok);
if (ok && !name.isEmpty()) {
name.replace(QRegularExpression("\r?\n|\r"), " ");