mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-23 13:04:23 +00:00
- Fix defining a new label from torrent addition dialog
- Stop catching SIGABRT, SIGSEGV once one is received to avoid possible infinite loop
This commit is contained in:
parent
824b2f6fff
commit
8f4bf93f02
@ -101,6 +101,8 @@ void sigtermHandler(int) {
|
|||||||
app->exit();
|
app->exit();
|
||||||
}
|
}
|
||||||
void sigsegvHandler(int) {
|
void sigsegvHandler(int) {
|
||||||
|
signal(SIGABRT, 0);
|
||||||
|
signal(SIGTERM, 0);
|
||||||
std::cerr << "\n\n*************************************************************\n";
|
std::cerr << "\n\n*************************************************************\n";
|
||||||
std::cerr << "Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
|
std::cerr << "Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
|
||||||
print_stacktrace();
|
print_stacktrace();
|
||||||
@ -108,6 +110,8 @@ void sigsegvHandler(int) {
|
|||||||
std::abort();
|
std::abort();
|
||||||
}
|
}
|
||||||
void sigabrtHandler(int) {
|
void sigabrtHandler(int) {
|
||||||
|
signal(SIGABRT, 0);
|
||||||
|
signal(SIGTERM, 0);
|
||||||
std::cerr << "\n\n*************************************************************\n";
|
std::cerr << "\n\n*************************************************************\n";
|
||||||
std::cerr << "Catching SIGABRT, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
|
std::cerr << "Catching SIGABRT, please report a bug at http://bug.qbittorrent.org\nand provide the following backtrace:\n";
|
||||||
print_stacktrace();
|
print_stacktrace();
|
||||||
|
@ -329,6 +329,7 @@ protected slots:
|
|||||||
void torrentAdded(QModelIndex index) {
|
void torrentAdded(QModelIndex index) {
|
||||||
Q_ASSERT(index.isValid());
|
Q_ASSERT(index.isValid());
|
||||||
QString label = transferList->model()->index(index.row(), TR_LABEL).data(Qt::DisplayRole).toString().trimmed();
|
QString label = transferList->model()->index(index.row(), TR_LABEL).data(Qt::DisplayRole).toString().trimmed();
|
||||||
|
qDebug("New torrent was added with label: %s", label.toLocal8Bit().data());
|
||||||
if(!label.isEmpty()) {
|
if(!label.isEmpty()) {
|
||||||
if(!customLabels.contains(label)) {
|
if(!customLabels.contains(label)) {
|
||||||
addLabel(label);
|
addLabel(label);
|
||||||
|
@ -192,7 +192,7 @@ void TransferListWidget::addTorrent(QTorrentHandle& h) {
|
|||||||
if(listModel->rowCount() == 1)
|
if(listModel->rowCount() == 1)
|
||||||
selectionModel()->setCurrentIndex(proxyModel->index(row, TR_NAME), QItemSelectionModel::SelectCurrent|QItemSelectionModel::Rows);
|
selectionModel()->setCurrentIndex(proxyModel->index(row, TR_NAME), QItemSelectionModel::SelectCurrent|QItemSelectionModel::Rows);
|
||||||
// Emit signal
|
// Emit signal
|
||||||
emit torrentAdded(listModel->index(row, 0));
|
emit torrentAdded(mapFromSource(listModel->index(row, 0)));
|
||||||
// Refresh the list
|
// Refresh the list
|
||||||
refreshList();
|
refreshList();
|
||||||
} catch(invalid_handle e) {
|
} catch(invalid_handle e) {
|
||||||
@ -490,6 +490,11 @@ QModelIndex TransferListWidget::mapToSource(QModelIndex index) const {
|
|||||||
return labelFilterModel->mapToSource(proxyModel->mapToSource(index));
|
return labelFilterModel->mapToSource(proxyModel->mapToSource(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QModelIndex TransferListWidget::mapFromSource(QModelIndex index) const {
|
||||||
|
return proxyModel->mapFromSource(labelFilterModel->mapFromSource(index));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QStringList TransferListWidget::getCustomLabels() const {
|
QStringList TransferListWidget::getCustomLabels() const {
|
||||||
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
|
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
|
||||||
settings.beginGroup(QString::fromUtf8("TransferListFilters"));
|
settings.beginGroup(QString::fromUtf8("TransferListFilters"));
|
||||||
|
@ -64,6 +64,7 @@ protected:
|
|||||||
int getRowFromHash(QString hash) const;
|
int getRowFromHash(QString hash) const;
|
||||||
QString getHashFromRow(int row) const;
|
QString getHashFromRow(int row) const;
|
||||||
QModelIndex mapToSource(QModelIndex index) const;
|
QModelIndex mapToSource(QModelIndex index) const;
|
||||||
|
QModelIndex mapFromSource(QModelIndex index) const;
|
||||||
QStringList getCustomLabels() const;
|
QStringList getCustomLabels() const;
|
||||||
void saveColWidthList();
|
void saveColWidthList();
|
||||||
bool loadColWidthList();
|
bool loadColWidthList();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user