diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-10-31 12:27:44 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-10-31 12:27:44 -0400 |
| commit | 71fc5d0af5593c04cd48587e72252cc0df24752d (patch) | |
| tree | 6596a576cfdc14371056dd86a029bd924a7cb0bd /src | |
| parent | 5ee734c1890fe35dbfff4770654051688fb3b725 (diff) | |
stack overflow when searching text files/ini lists because they reported children to infinity and beyond
removed update delays for filters in mod info dialog
fixed conflict lists not using source sorting so they wouldn't use the case insensitive natsort
Diffstat (limited to 'src')
| -rw-r--r-- | src/modinfodialogconflicts.cpp | 9 | ||||
| -rw-r--r-- | src/modinfodialogimages.cpp | 1 | ||||
| -rw-r--r-- | src/modinfodialogtextfiles.cpp | 7 |
3 files changed, 15 insertions, 2 deletions
diff --git a/src/modinfodialogconflicts.cpp b/src/modinfodialogconflicts.cpp index 79ce6ade..feb20e65 100644 --- a/src/modinfodialogconflicts.cpp +++ b/src/modinfodialogconflicts.cpp @@ -559,12 +559,18 @@ GeneralConflictsTab::GeneralConflictsTab( m_filterOverwrite.setEdit(ui->overwriteLineEdit); m_filterOverwrite.setList(ui->overwriteTree); + m_filterOverwrite.setUseSourceSort(true); + m_filterOverwrite.setUpdateDelay(false); m_filterOverwritten.setEdit(ui->overwrittenLineEdit); m_filterOverwritten.setList(ui->overwrittenTree); + m_filterOverwritten.setUseSourceSort(true); + m_filterOverwritten.setUpdateDelay(false); m_filterNoConflicts.setEdit(ui->noConflictLineEdit); m_filterNoConflicts.setList(ui->noConflictTree); + m_filterNoConflicts.setUseSourceSort(true); + m_filterNoConflicts.setUpdateDelay(false); QObject::connect( ui->overwriteTree, &QTreeView::doubleClicked, @@ -789,9 +795,10 @@ AdvancedConflictsTab::AdvancedConflictsTab( m_tab(tab), ui(pui), m_core(oc), m_model(new AdvancedConflictListModel(ui->conflictsAdvancedList)) { - m_filter.setEdit(ui->conflictsAdvancedFilter); m_filter.setList(ui->conflictsAdvancedList); + m_filter.setUseSourceSort(true); + m_filter.setUpdateDelay(false); // left-elide the overwrites column so that the nearest are visible ui->conflictsAdvancedList->setItemDelegateForColumn( diff --git a/src/modinfodialogimages.cpp b/src/modinfodialogimages.cpp index 8a22045e..e27e9686 100644 --- a/src/modinfodialogimages.cpp +++ b/src/modinfodialogimages.cpp @@ -63,6 +63,7 @@ ImagesTab::ImagesTab(ModInfoDialogTabContext cx) : ui->imagesShowDDS->setEnabled(m_ddsAvailable); m_filter.setEdit(ui->imagesFilter); + m_filter.setUpdateDelay(false); connect(&m_filter, &FilterWidget::changed, [&]{ onFilterChanged(); }); connect(ui->imagesExplore, &QAbstractButton::clicked, [&]{ onExplore(); }); diff --git a/src/modinfodialogtextfiles.cpp b/src/modinfodialogtextfiles.cpp index c897ae1b..4bdc8ee1 100644 --- a/src/modinfodialogtextfiles.cpp +++ b/src/modinfodialogtextfiles.cpp @@ -23,8 +23,12 @@ public: return {}; } - int rowCount(const QModelIndex& ={}) const override + int rowCount(const QModelIndex& index={}) const override { + // no child nodes + if (index.isValid()) + return 0; + return static_cast<int>(m_files.size()); } @@ -114,6 +118,7 @@ GenericFilesTab::GenericFilesTab( m_filter.setEdit(filter); m_filter.setList(m_list); + m_filter.setUpdateDelay(false); QObject::connect( m_list->selectionModel(), &QItemSelectionModel::currentRowChanged, |
