diff options
Diffstat (limited to 'common/modelresult.cpp')
-rw-r--r-- | common/modelresult.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/common/modelresult.cpp b/common/modelresult.cpp index 5b5a473..ceefa76 100644 --- a/common/modelresult.cpp +++ b/common/modelresult.cpp | |||
@@ -155,7 +155,8 @@ bool ModelResult<T, Ptr>::hasChildren(const QModelIndex &parent) const | |||
155 | template<class T, class Ptr> | 155 | template<class T, class Ptr> |
156 | bool ModelResult<T, Ptr>::canFetchMore(const QModelIndex &parent) const | 156 | bool ModelResult<T, Ptr>::canFetchMore(const QModelIndex &parent) const |
157 | { | 157 | { |
158 | return !mEntityChildrenFetched.contains(parent.internalId()); | 158 | const auto id = parent.internalId(); |
159 | return !mEntityChildrenFetched.contains(id) || mEntityChildrenFetchComplete.contains(id); | ||
159 | } | 160 | } |
160 | 161 | ||
161 | template<class T, class Ptr> | 162 | template<class T, class Ptr> |
@@ -218,6 +219,7 @@ template<class T, class Ptr> | |||
218 | void ModelResult<T, Ptr>::fetchEntities(const QModelIndex &parent) | 219 | void ModelResult<T, Ptr>::fetchEntities(const QModelIndex &parent) |
219 | { | 220 | { |
220 | const auto id = getIdentifier(parent); | 221 | const auto id = getIdentifier(parent); |
222 | mEntityChildrenFetchComplete.remove(id); | ||
221 | mEntityChildrenFetched.insert(id); | 223 | mEntityChildrenFetched.insert(id); |
222 | Trace() << "Loading child entities of parent " << id; | 224 | Trace() << "Loading child entities of parent " << id; |
223 | if (loadEntities) { | 225 | if (loadEntities) { |