diff --git a/src/lib/resultiterator.h b/src/lib/resultiterator.h --- a/src/lib/resultiterator.h +++ b/src/lib/resultiterator.h @@ -39,9 +39,14 @@ class BALOO_CORE_EXPORT ResultIterator { public: - ResultIterator(const ResultIterator& rhs); + ResultIterator(ResultIterator &&rhs); ~ResultIterator(); + // TODO KF6 mark this as delete + /** Do not use this function, ResultIterator is not copiable, move it if needed */ + BALOO_CORE_DEPRECATED ResultIterator(const ResultIterator& rhs); + ResultIterator &operator=(const ResultIterator& rhs) = delete; + bool next(); QString filePath() const; diff --git a/src/lib/resultiterator.cpp b/src/lib/resultiterator.cpp --- a/src/lib/resultiterator.cpp +++ b/src/lib/resultiterator.cpp @@ -46,9 +46,18 @@ d->pos = -1; } +// TODO Remove for KF6 ResultIterator::ResultIterator(const ResultIterator& rhs) : d(rhs.d) { + qWarning("ResultIterator copy constructor being used. This is crashy"); +} + + +ResultIterator::ResultIterator(ResultIterator &&rhs) + : d(rhs.d) +{ + rhs.d = nullptr; } ResultIterator::~ResultIterator()