Fix stack overflow when filtering timeline
2 files changed, 5 insertions, 3 deletions
diff --git a/src/timeline/TimelineFilter.cpp b/src/timeline/TimelineFilter.cpp
index cd17a7f6..91cae637 100644
--- a/src/timeline/TimelineFilter.cpp
+++ b/src/timeline/TimelineFilter.cpp
@@ -69,7 +69,8 @@ TimelineFilter::setSource(TimelineModel *s)
this->setSourceModel(s);
connect(s, &TimelineModel::currentIndexChanged, this, &TimelineFilter::currentIndexChanged);
- connect(s, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain);
+ connect(
+ s, &TimelineModel::fetchedMore, this, &TimelineFilter::fetchAgain, Qt::QueuedConnection);
emit sourceChanged();
invalidateFilter();
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 6b764081..dedfa197 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -880,6 +880,9 @@ TimelineModel::setPaginationInProgress(const bool paginationInProgress)
m_paginationInProgress = paginationInProgress;
emit paginationInProgressChanged(m_paginationInProgress);
+
+ if (m_paginationInProgress)
+ events.fetchMore();
}
void
@@ -891,8 +894,6 @@ TimelineModel::fetchMore(const QModelIndex &)
}
setPaginationInProgress(true);
-
- events.fetchMore();
}
void
|